导航:首页 > 文档加密 > activexpdf

activexpdf

发布时间:2023-03-05 05:09:19

㈠ 怎样在vs工具箱中添加Adobe提供的ActiveX控件然后怎样在winform上显示pdf文件,谢谢

工具箱右键,选择“选择项...”,COM组件标签,选择Adobe的COM组件,添加即可。

㈡ PDF 时间自动更新

这个很麻烦,建个控件
Acrobat(Reader)提供了一个ActiveX控件pdf.ocx(7.x版本为AcroPDF.dll),可以在用户程序中实现PDF文件的显示。对于老版本的软件(4.x及以前的版本),只需按照ActiveX控件的标准编程步骤即可:

(1)把控件pdf.ocx加入VC项目,并生成控件类

(2)把控件放置在对话框上,或者调用控件类的成员函数Create创建控件对象

(3)调用控件的属性或方法打开PDF文件

由于这不属于本文要讨论的内容,详情请参考《Visual C++技术内幕》中“使用ActiveX控件”一章,这里不再赘述。

但是对于新版软件(5.x/6.x/7.x),上述方法不再适用:新版控件不是一个完整意义上的ActiveX控件,它缺少生成控件类所必需的类型库信息,无法把控件加入VC项目。

在这种情况下,需要调用函数CWnd::CreateControl来创建控件对象,然后获取控件的IDispatch接口指针,通过该指针访问控件的属性及方法。

直接用IDispatch指针调用控件的属性及方法是一件极其繁琐的工作,好在新版软件提供了类型库,可以用它生成一个自动化组件驱动类(从COleDispatchDriver派生)。借助该类,可以大大简化对控件属性及方法的调用。

虽然可以用控件显示PDF文件,但它只是一个代理,真正的工作还是由Acrobat(Reader)完成的,因此必须安装这两种软件中的一个。

实现步骤

以下以Acrobat(Reader)5.x/6.x为例,介绍如何用新版控件实现PDF文件的显示。

运行VC,新建一个基于对话框的MFC应用程序ViewPDF,在设置生成选项时,选中“ActiveX Controls”,其余使用缺省值即可。生成后,删除对话框中的所有控件。

接下来创建自动化组件驱动类:打开类向导,点击“Add Class”按钮,在弹出的菜单中选择“From a type library”,用类型库文件pdf.tlb产生所需的组件类,该文件位于Acrobat软件安装目录下的ActiveX子目录。

编辑ViewPDFDlg.h,为类CViewPDFDlg添加两个数据成员: #include \"pdf.h\" // 组件类的头文件

class CViewPDFDlg : public CDialog

{

protected:

_DPdf m_drvPDF; // PDF组件驱动对象,_DPdf是我们刚生成的组件类

CWnd m_wndPDF; // PDF控件窗口

... ...

在类成员函数CViewPDFDlg::OnInitDialog中插入下列语句: // 为主窗口添加WS_CLIPCHILDREN风格,否则控件显示不正常

ModifyStyle(0, WS_CLIPCHILDREN);

// 获取对话框的客户区矩形

CRect rt;

GetClientRect(&rt);

// 利用CWnd::CreateControl创建PDF控件窗口

// Acrobat (Reader) 5.x/6.x的控件类ID为\"PDF.PdfCtrl.5\",7.x为\"AcroPDF.PDF.1\"

m_wndPDF.CreateControl(\"PDF.PdfCtrl.5\", NULL, WS_CHILD | WS_VISIBLE, rt, this, 0);

// 获取IDispatch接口指针

LPUNKNOWN lpUnknown = m_wndPDF.GetControl Unknown();

LPDISPATCH lpDispatch;

lpUnknown->QueryInterface(IID_IDispatch, (void**)&lpDispatch);

// 把获得的接口指针传递给组件驱动对象m_drvPDF,通过它调用控件的属性和方法

// 当m_drvPDF销毁时,会自动释放接口指针

m_drvPDF.AttachDispatch(lpDispatch);

// 弹出一个“打开”对话框,选择要显示的PDF文件

CFileDialog dlg(TRUE);

if (dlg.DoModal() == IDOK)

// 利用控件的方法LoadFile读取并显示PDF文件

m_drvPDF.LoadFile(dlg.GetPathName());

else

OnCancel(); // 退出

编译运行程序,选择要显示的PDF文件。

对于Acrobat(Reader)7.x,实现步骤基本与上相同,区别在于:

(1) 使用AcroPDF.dll生成自动化组件驱动类,得到的类名为IAcroAXDocShim,头文件为acropdf.h.

(2) 创建控件窗口时,类ID为AcroPDF.PDF.1.

除了上面用到的LoadFile外,控件还提供了许多有用的方法,常见的有:

Print 打印文件setZoom 设置页面的百分比setShowToolbar 显示/隐藏工具栏gotoFirstPage 跳转到第一页gotoLastPage 跳转到最后一页gotoNextPage 跳转到下一页gotoPreviousPage 跳转到上一页

由于用法很简单,这里不再一一叙述。

㈢ Word中ActiveX 部件不能创建对象以及PDF转word问题

1. 有可能是楼主的office有问题或者你的Solid Converter PDF有问题 。
2. 图片类的PDF转word用其他软件都是不行的,只有用OCR软件才行,而且正确率不是100%的,国产的有尚书七号 汉王OCR 国外的有ABBYY finereader
我用过ABBYY finereader 转PDF效果还是很好的~~还支持多国语言~~

㈣ 你们好请教下为什么我在director11里面用Acrobat Reader ActiveX 控件插入PDF然后把精灵放到舞台上面然后

...........然后呢?

阅读全文

与activexpdf相关的资料

热点内容
表格中的文件夹怎样设置 浏览:474
em78单片机 浏览:952
splitjava空格 浏览:248
电脑怎么谷歌服务器地址 浏览:515
nx自定义工具启动宏命令 浏览:101
程序员怎么解决无法访问互联网 浏览:303
java访问本地文件 浏览:747
瓦斯琪服务器怎么用 浏览:22
安卓主题用什么app 浏览:747
修改服务器pci地址空间 浏览:321
程序员将来去哪里 浏览:966
虚幻5创建c无法编译 浏览:189
javaweb项目设计 浏览:407
国家反诈app紧急联系人怎么填 浏览:191
单片机旋转led 浏览:340
杜洋单片机官网 浏览:467
法国加密货币税务 浏览:28
stringslinux 浏览:944
gis服务器里文件如何处理 浏览:829
sec加密数字资产 浏览:930