如何将Acrobat Reader进口到Delphi 2007?
题
我已经使用组件导入Acrobat Reader |导入组件。 AcropDF_TLB单元是在Imports目录中创建的。
当我尝试使用AcrobatReader组件时,如下...
AcroDoc := TAcroPDF.Create(nil);
...我得到一个“未指定错误”例外(eolesyserserror)。有任何想法吗?
谢谢,彼得。
解决方案
我们使用Adobe Reader插件,并经常面对此问题。在用户在Adobe读取器上执行网络更新后,它尤其浮出水面。
尝试 拆卸 (通过控制面板)然后 重新安装 最新的Adobe读者。
这总是为我们的用户解决问题。
其他提示
如果您对您到达那里的结果不满意(我当时),您可能会考虑给予 QuickPDF 尝试。价格不是不合理的,它们包含许多良好的PDF功能,您可以在timage控件中准确显示PDF,并通过调用renderpagetostream。我发现使用表单字段的一件事是,在渲染之前,我必须使用它们的FlattenFormField来获取将表单字段内容包含在渲染图像中。
跟进:
我最初没有提到QuickPDF也用于打印。对于表单字段,您必须执行相同的FlattenFormfield例程,但是结果看起来不错,开销要比依靠Acrobat Reader少得多。
将组件放在tform上,然后可能有效。
Acrobat Activex/com对象因不正确支持旧版本的接口而臭名昭著。你得到 eolesysyror到处都是。
我个人为几个客户所做的工作是将PDF文档加载到一个 twebbrowser.
TwebBrowser是Internet Explorer用来显示所有内容的ActiveX/COM组件的包装器。
Adobe在每次Acrobat更新中都可以使该工作非常好,因此Twebbrowser当时也可以使用。
请注意,这仅对于显示PDF文档才有意义。
- 杰罗恩
我们在Delphi 7应用程序中成功使用了Acrobat V6读取器组件,但发现它确实需要Acrobat V6。今天,仅安装Acrobat V9的用户使用我们的应用程序查看PDF时会出现错误,因为Acrobat组件以这种方式不向后兼容。
因此,是的,您可以做到,但是可能会出现问题。
第三方工具是最好的...