代码之家  ›  专栏  ›  技术社区  ›  Pieter van Wyk

如何将Acrobat Reader导入Delphi 2007?

  •  1
  • Pieter van Wyk  · 技术社区  · 17 年前

    我已使用组件导入组件导入Acrobat Reader。acropdf_tlb单元是在imports目录中创建的。

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

    AcroDoc := TAcroPDF.Create(nil);
    

    …我收到“未指定错误”异常(eolesyserror)。有什么想法吗?

    谢谢,彼特。

    5 回复  |  直到 12 年前
        1
  •  0
  •   EagleOfToledo    17 年前

    我们使用Adobe Reader插件,经常遇到这个问题。特别是当用户在adobe阅读器上执行web更新后,它就会浮出水面。

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

    这无一例外地为我们的用户解决了问题。

        2
  •  1
  •   jrodenhi    17 年前

    如果你对你取得的成绩不满意,你可以考虑给予 QuickPDF 尝试一下。价格并非不合理,它们包含许多好的pdf函数,您可以通过调用renderpagetostream在timage控件中准确地显示pdf。我发现使用表单域的一件事是,我必须在渲染之前使用它们的flattenformfield来获取要包含在渲染图像中的表单域内容。

    跟进:

    我最初并没有提到quickpdf也可以用于打印。对于表单字段,您必须执行相同的flattenformfield例程,但与依赖acrobat reader相比,使用更少的开销,结果看起来很好。

        3
  •  0
  •   Lars D    17 年前

    将组件放到一个tform上,那么它可能会工作。

        4
  •  0
  •   Jeroen Wiert Pluimers    17 年前

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

    我个人为几个客户所做的是在 TWebBrowser .

    twebbrowser是对activex/com组件的包装,internet explorer使用它来显示所有内容。

    adobe在每次acrobat更新时都能很好地实现这一点,因此twebbrowser也能工作。

    请注意,这只对显示pdf文档有意义。

    ——杰罗恩

        5
  •  0
  •   Jon Samson    17 年前

    我们在Delphi7应用程序中成功地使用了AcrobatV6阅读器组件,但发现它确实需要AcrobatV6。今天只安装Acrobat V9的用户在使用我们的应用程序查看PDF时会遇到错误,因为Acrobat组件不以这种方式向后兼容。

    所以是的,你可以这样做,但未来可能会有一些问题。

    第三方工具可能是最好的…