如何将Acrobat Reader导入Delphi 2007?

时间:2009-09-30 13:07:29

标签: delphi adobe types libraries acrobat

我使用Components |导入了Acrobat Reader导入组件。 AcroPdf_TLB单元在Imports目录中创建。

当我尝试使用AcrobatReader组件时,如下所示......

AcroDoc := TAcroPDF.Create(nil);

...我得到一个'未指定的错误'异常(EOleSysError)。有什么想法吗?

谢谢,彼得。

5 个答案:

答案 0 :(得分:1)

如果你对你到达那里的结果不满意(我曾经),你可以考虑试试QuickPDF。价格并非不合理,它们包含许多优秀的PDF函数,您可以通过调用RenderPageToStream在TImage控件中准确显示PDF。我发现使用表单字段的一件事是我必须在渲染之前使用他们的FlattenFormField来获取表单字段内容以包含在渲染图像中。

跟进:

我最初没有提到QuickPDF也适用于打印。对于表单字段,您必须执行相同的FlattenFormField例程,但结果看起来很好,而且比依赖Acrobat Reader的开销要少得多。

答案 1 :(得分:0)

将组件放在TForm上,然后它可能有效。

答案 2 :(得分:0)

Acrobat ActiveX / COM对象因不能正确支持旧版本的接口而臭名昭着。你得到EOleSysError到处都是。

我个人为几个客户做过的事情是将PDF文档加载到TWebBrowser

TWebBrowser是Internet Explorer用于显示所有内容的ActiveX / COM组件的包装。

Adob​​e非常擅长使用每个Acrobat更新,因此TWebBrowser也能正常工作。

请注意,这仅适用于显示PDF文档。

- 的Jeroen

答案 3 :(得分:0)

我们使用Adobe Reader插件并经常遇到此问题。用户在Adobe Reader上执行Web更新后,尤其是表面。

尝试取消安装(通过控制面板),然后重新安装最新的Adobe Reader。

这总是为我们的用户解决了这个问题。

答案 4 :(得分:0)

我们在Delphi 7应用程序中成功使用了acrobat v6阅读器组件,但发现它确实需要acrobat v6。今天只安装acrobat v9的用户在使用我们的应用程序查看pdf时会出错,因为acrobat组件不会以这种方式向后兼容。

所以是的,你可以做到,但未来可能存在问题。

第三方工具最好......