delphi - 需要 PDF 查看器控制 - 尝试了很多

标签 delphi pdf activex ocx

我正在寻找一个组件来从 Delphi/C++Builder 查看和打印 PDF 文件。 Delphi 或 ActiveX,而不是 .NET。该许可证必须用于免版税分发,并且查看者不得要求安装 Adob​​e Reader。

到目前为止我已经尝试过:

Gnostice PDF 工具包: JPX 图像的显示问题

Radaee PDF 查看器: 渲染速度很快,但会崩溃。 支持人员没有回复。

非常PDF: 渲染速度慢,但可靠。 没有打印

WPViewPDF: 大多数 PDF 的布局困惑

GdViewer: 没有连续的多页显示

QuickPDF 库: 没有连续的多页显示

eXPert PDF 查看器: 不允许使用通用 PDF 查看器。 支持人员没有回复。

EasyPDF SDK: 没有连续的多页显示

动态PDF: 没有免版税许可

福昕 PDF SDK: 没有免版税许可

3-Heights PDF 查看器: 没有免版税许可

还有其他选择吗?

问候, 布赖恩

最佳答案

我成功实现了SumatraPDF作为 Delphi 应用程序中的嵌入式查看器。

它将通过 shell 命令启动,但添加 -plugin 参数使其成为您的表单或任何容器的子级。然后,您可以发送击键或使用 DDE 来对其进行试验。

参见the wiki并寻找“-plugin”。

Sumatra 速度非常快,并且在 GPL 条件下可重新分发,它使用 MuPDF 作为渲染引擎,这是一个非常可行的解决方案。

如果你看source code下面的 Total Commander 插件,您将了解如何使用它。只需忽略源代码中将功能集成为 TC 插件的部分

关于delphi - 需要 PDF 查看器控制 - 尝试了很多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3201692/

相关文章:

vba - 如何从Delphi代码将一系列不同的公式设置为Excel范围?

android - FireMonkey 访问 Android 或 iOS 上的 SQL Server

php - 使用 dompdf 从数据库渲染数据时出错

c++ - 如何从不在主类中的 ActiveX 控件 (.ocx) 导出函数?

delphi - 如何获取子键的名称?

delphi - 是否可以像TWebBrowser一样在Delphi中使用Microsoft Edge(Chromium引擎)?

angular - 如何在angular2中将HTML转换为pdf?

c# - itextsharp 读表

c# - 更改用C#编写的Active-X插件的用户类型名称