在 Delphi 2009 中显示 PDF 文件的最佳方法是啥[关闭]

Posted

技术标签:

【中文标题】在 Delphi 2009 中显示 PDF 文件的最佳方法是啥[关闭]【英文标题】:What is the best way to display a PDF file in Delphi 2009 [closed]在 Delphi 2009 中显示 PDF 文件的最佳方法是什么[关闭] 【发布时间】:2010-10-12 01:47:42 【问题描述】:

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

编辑:

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

所以我需要在产品之外设计它

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

在 Delphi 中嵌入原始 Acrobat Reader ActiveX 是最好的方式,而且是免费的。 如果你想创建PDF,那成本很高。

【讨论】:

你添加到一个 8 个月前的帖子中只是为了说别人 8 个月前做过的同样的事情吗? @Ken 我猜他确实补充说它是免费的。【参考方案3】:

我没有用过 wptools PDF 查看器,但我可以说他们的其他 PDF 工具是一流的。

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

如果您只想显示一个 pdf,为什么不启动用户安装的应用程序来查看 pdf 文件呢?这样他们就不会因为您的程序而忽略他们的选择而烦恼,并且他们也会已经熟悉该程序。

其他选项包括使用 Kris De Decker 建议的 Adob​​e 的 acrobat 阅读器插件或我相信其他查看器也提供的插件。这可能会为您提供更多控制权,但您肯定也会发现控制并不像您希望的那样彻底。

【讨论】:

【参考方案6】:

我感觉越来越多的用户更喜欢 acrobat reader 的替代品,所以强迫他们安装 acrobat 来使用你的程序是个坏主意。

Gnistice PDFtoolkit 的 ProPlus 版本可让您显示 pdf 文件。 QuickPDFLibrary 也是如此。我敢肯定还有更多。

在用户喜欢的 pdf 查看器中启动文件可能是更好地控制打印等的第二种选择。

【讨论】:

Acrobar 阅读器从 Delphi 窃取焦点,所以你也可能得到奇怪的效果。【参考方案7】:

我们在 Delphi 应用程序中嵌入了 Acrobat Reader。 看看这篇文章“How to embed Adobe Acrobat into your application”。 将 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 组件可以满足我们的需求。

【讨论】:

以上是关于在 Delphi 2009 中显示 PDF 文件的最佳方法是啥[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 Delphi 2009 的 Rave Reports 中显示 unicode 文本

delphi7中 怎样把文件保存成unicode编码保存

delphi打开unicode文件的问题

Delphi 2009 - 未重新创建 res 文件

CreateProcess 和 WaitForSingleObject 在两个 PDF 文件中的第二个失败

delphi中如何opendialog1.FileName;只能打开文件,如何打开目录获得目录路径