Delphi 2009中显示PDF文件的最佳方法是什么?

10

我该使用什么组件来在Delphi 2009应用程序中显示PDF文件?

编辑:

我一直在使用Synactis的PDF Viewer,这是一个非常好的免费PDF查看器。但它不支持Delphi 2009。

所以我需要设计一个产品。

7个回答

13

我们将Acrobat Reader嵌入了我们的Delphi应用程序中。 请查看这篇文章"如何将Adobe Acrobat嵌入到您的应用程序中"。 一旦您在表单中添加了Acrobat Reader ActiveX组件,您可以使用以下代码:

procedure TForm1.Button1Click(Sender: TObject); 
begin
  // This example assumes that you have a TOpenDialog
  // and TPdf dropped onto your form
  OpenDialog1.Filter := 'PDF Files (*.pdf)|*.pdf';
  if OpenDialog1.Execute then
    Pdf1.src := OpenDialog1.FileName;
end;

虽然有一些原生的 Delphi 组件,但嵌入 Acrobat Reader 组件能够满足我们的需求。


9
我有一种感觉,越来越多的用户更喜欢使用 Acrobat Reader 的替代品,所以强制他们安装 Acrobat 来使用您的程序是一个坏主意。 Gnistice PDFtoolkit 的 ProPlus 版本可以让您显示 PDF 文件。QuickPDFLibrary 也可以。我相信还有更多的选择。
在用户首选的 PDF 阅读器中启动文件可能是更好的控制打印等操作的第二个选择。

1
Acrobar Reader会夺取Delphi的焦点,因此可能会产生奇怪的效果。 - Brian Frost

4

可以使用Twebbrowser或Bsalsa web文档,对文件路径进行URL编码并将其作为Web文档传递-它将在浏览器区域加载默认的PDF应用程序。


2
如果您只想显示PDF文件,为什么不直接启动用户安装的PDF文件查看应用程序呢?这样,他们就不会因为您的程序无视他们的选择而感到烦恼,并且也已经熟悉了该程序。
其他选项包括使用Adobe的Acrobat Reader插件(正如Kris De Decker建议的那样),或者我相信其他替代查看器也提供了插件。这将可能给您一些更多的控制,但您肯定也会发现控制不像您希望的那样彻底。

1

我没有使用过wptools的PDF阅读器,但我可以说他们的其他PDF工具非常出色。


1
WPCubed(http://wptools.de/)提供带有免版税分发许可和Delphi支持的WPViewPDF工具-4,5,6,7,2005,2006,2007,BCB 5,6,2006,2007。

0

在Delphi中嵌入原始的Acrobat Reader ActiveX是最好的方法,而且是免费的。 如果你想创建PDF,那就需要花费很多钱。


7
你为什么要在一个8个月前的帖子中加入内容,只是为了重复别人8个月前说过的话? - Ken White
@Ken 我想他确实添加了免费的信息。 - rossmcm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接