如何在 Firemonkey 应用程序中查看 PDF 文件?
我尝试将 Adobe reader ActiveX 添加到我的项目中,但出现错误!!
如何在 Firemonkey 应用程序中查看 PDF 文件?
我尝试将 Adobe reader ActiveX 添加到我的项目中,但出现错误!!
我目前使用 Adobe Pdf Reader Active X 在 firemonkey 中显示 pdf,代码如下:
ACRO := TAcroPDF.Create( Self );
ACRO.Width := Width;
ACRO.Height := Height;
ACRO.ParentWindow := FmxHandleToHWND( Self.Handle );
ACRO.LoadFile( 'C:\ProgramData\teste.PDF' );
// if focus no set, user need click on activeX component
ACRO.SetFocus;
注意:您需要添加使用“FMX.PlatForm.Win”并将 activeX 导入您的项目。通常生成的文件是“AcroPDFLib_TLB.pas”,您需要将其添加到使用中。
3个解决方案:
如果必须嵌入:尝试嵌入式浏览器。
DelphiChromiumEmbedded在 FireMonkey 下工作(参见Demo)
根据WikiPedia的说法,Chromium 从 6.0 版开始就内置了对 pdf 的支持。
否则,您始终可以启动外部查看器。
最坏的情况:将您的 pdf 转换为 html
您不能在 firemonkey 中托管 ActiveX 控件。我所知道的 Firemonkey 没有 PDF 显示组件,但如果有,它必须单独实现或在后台使用大量条件定义,以便它可以在 Mac OS X 和 Windows 上运行。
我知道您可以将一个 Firemonkey 表单放入 VCL 应用程序中的方法,但不知道您可以做任何相反的方法。简而言之,没有简单的方法可以做到这一点,最短的路径是编写自己的组件,它必须以某种方式在 Windows 上将 PDF 查看器作为 OLE 对象或 ActiveX 控件托管,并以其他方式实现Mac OS X。