Foxtable(狐表)用户栏目专家坐堂 → 如何调用Spire.PdfViewer.Forms.dll


  共有9779人关注过本帖树形打印复制链接

主题:如何调用Spire.PdfViewer.Forms.dll

帅哥哟,离线,有人找我吗?
lisangyu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:4295 威望:0 精华:0 注册:2019/8/5 17:49:00
如何调用Spire.PdfViewer.Forms.dll  发帖心情 Post By:2022/1/22 11:04:00 [只看该作者]

蓝总:借助visual 可以直接调用Spire.PdfViewer.Forms.dll,实现程序窗口直接浏览PDF,
https://www.e-iceblue.cn/spirepdfviewer/view-pdf-file-using-spirepdfviewer-for-net.html

因为Spire.PdfViewer.Forms.dll需要引用至WinForm中,通过代码来操作,该控件只能用于查看PDF文档,需要使用代码来加载指定文件。将该控件拖拽到Form,鼠标右键选择属性,将Dock属性设置为Fill,使其铺满整个Form。加载文件时,使用代码 this.pdfDocumentViewer1.LoadFromFile("test.pdf"); 完成代码后,运行程序,即可查看打开的PDF文档。现在我们的FT怎么实现这个控件功能?
VB.NET
Dim pdfDoc As String = "test.pdf"
If File.Exists(pdfDoc) Then
  Me.pdfViewer1.LoadFromFile(pdfDoc)
End If
[此贴子已经被作者于2022/1/22 11:04:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/22 11:09:00 [只看该作者]

在vs里设计好窗口,编译为dll给foxtable调用

 回到顶部
帅哥哟,离线,有人找我吗?
lisangyu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:4295 威望:0 精华:0 注册:2019/8/5 17:49:00
  发帖心情 Post By:2022/1/22 20:06:00 [只看该作者]

蓝总:我把Spire.PdfViewer.Forms.dll引用到VS里了,也设计好窗口了,怎么编译成新的DLL?

里面的代码好简单 :using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}



namespace WindowsFormsApp3
{
    partial class Form1
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows 窗体设计器生成的代码

        /// <summary>
        /// 设计器支持所需的方法 - 不要修改
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.docViewer2 = new Spire.DocViewer.Forms.DocViewer();
            this.SuspendLayout();
            // 
            // docViewer2
            // 
            this.docViewer2.Dock = System.Windows.Forms.DockStyle.Fill;
            this.docViewer2.IsToolBarVisible = true;
            this.docViewer2.Location = new System.Drawing.Point(0, 0);
            this.docViewer2.Name = "docViewer2";
            this.docViewer2.Size = new System.Drawing.Size(913, 450);
            this.docViewer2.TabIndex = 2;
            this.docViewer2.Text = "docViewer2";
            this.docViewer2.Click += new System.EventHandler(this.docViewer2_Click);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(913, 450);
            this.Controls.Add(this.docViewer2);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);

        }

        #endregion

        private Spire.DocViewer.Forms.DocViewer docViewer2;
    }
}
图片点击可在新窗口打开查看
[此贴子已经被作者于2022/1/23 19:22:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/23 20:46:00 [只看该作者]

试试
1、把dll复制到foxtable安装目录,添加引用http://www.foxtable.com/webhelp/topics/1936.htm
2、窗口afterload事件代码:
e.form.panel.SuspendLayout()
    dim docViewer2 as New Spire.DocViewer.Forms.DocViewer()
    docViewer2.Dock = System.Windows.Forms.DockStyle.Fill
    docViewer2.IsToolBarVisible = True
    docViewer2.Location = New System.Drawing.Point(0, 0)
    docViewer2.Name = "docViewer2"
    docViewer2.Text = "docViewer2"
    AddHandler docViewer2.Click, New System.EventHandler(docViewer2_Click)
    e.form.panel.Controls.Add(docViewer2)
e.form.panel.ResumeLayout(False)
  docViewer2.LoadFromFile("test.pdf")

 回到顶部
帅哥哟,离线,有人找我吗?
lisangyu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:4295 威望:0 精华:0 注册:2019/8/5 17:49:00
  发帖心情 Post By:2022/1/24 10:46:00 [只看该作者]

蓝总:图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/24 10:55:00 [只看该作者]

去掉源码里找到docViewer2_Click的定义放到全局代码

或者去掉这句代码:AddHandler docViewer2.Click, New System.EventHandler(docViewer2_Click)

 回到顶部
帅哥哟,离线,有人找我吗?
lisangyu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:4295 威望:0 精华:0 注册:2019/8/5 17:49:00
  发帖心情 Post By:2022/1/24 11:22:00 [只看该作者]


蓝总:源码:this.docViewer2.Click += new System.EventHandler(this.docViewer2_Click);

是这样定义吗?
Dim docViewer2.Click += new System.EventHandler(docViewer2_Click)
还是?
Dim docViewer2_Click as new System.EventHandler()

好像都不对,这个代码好像是影响本文检索功能
[此贴子已经被作者于2022/1/24 11:35:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/24 11:40:00 [只看该作者]

7楼是绑定事件的,不是这个

去源码里找到docViewer2_Click函数的的定义放到全局代码

 回到顶部
帅哥哟,离线,有人找我吗?
lisangyu
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:4295 威望:0 精华:0 注册:2019/8/5 17:49:00
  发帖心情 Post By:2022/1/24 11:56:00 [只看该作者]

蓝总:
我只找到private void docViewer2_Click(object sender, EventArgs e)

转成:Private Sub docViewer2_Click(ByVal sender As Object, ByVal e As EventArgs)
还是不行

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/24 12:21:00 [只看该作者]

public Sub docViewer2_Click(ByVal sender As Object, ByVal e As system.EventArgs)
……
end Sub 

 回到顶部
总数 20 1 2 下一页