使用 Win32/MFC 将 HTML 文件转换为 PDF

Posted

技术标签:

【中文标题】使用 Win32/MFC 将 HTML 文件转换为 PDF【英文标题】:Converting HTML file to PDF using Win32/MFC 【发布时间】:2012-08-24 18:37:24 【问题描述】:

作为我申请的一部分,我的客户要求我加入一个自动电子邮件系统。作为该系统的一部分,我生成 html 代码并使用自动化发送它。展望。

但是,他们还需要将 HTML 文档的 PDF 副本作为附件发送。我最初的尝试涉及使用libHaru,但事实证明这很难有效使用,因为我需要从头开始创建 PDF 文档,这需要计算表格中每一行的位置以及所有文本的位置,等等

我想知道是否有一种方法可以通过使用 Win32/MFC 本身或外部库以编程方式将 HTML 代码(或 HTML 文件,如果需要)转换为 PDF 文档。

提前致谢!

编辑:澄清一下,我正在寻找最小化外部依赖的解决方案。

【问题讨论】:

也许你可以使用在线api?然后convertapi.com/web-pdf-api 【参考方案1】:

您应该评估这个实用程序 wkhtmltopdf: http://code.google.com/p/wkhtmltopdf/

您可以从命令行调用它而无需运行设置。

我使用它生成我的输出文档为 html,然后调用 ShellExecute(...) 将其转换为 PDF。太棒了!

Inside 使用 webkit + qt。所以与现代 HTML 的兼容性是可以的。

希望对你有帮助。

【讨论】:

不错的解决方案,这是一个轻量级的解决方案,我可以通过它远程下载并安装在我的客户端机器上。我自己的应用程序。谢谢!【参考方案2】:

我会看一下PDF Creator,它可以用作 COM 对象(其作用非常类似于打印机)。我没有用它来打印 HTML,所以我不确定,但我猜你可能最终不得不实例化一个 Web 浏览器控件来呈现 HTML,然后将它从那里提供给 PDF 控件.

【讨论】:

据我所知,这不能嵌入到应用程序中,因此它成为外部依赖项,因此我正在寻找最小化外部依赖项的解决方案,我将问题更新为阐明。不过谢谢!【参考方案3】:

一些可能的答案在这个帖子中:

C++ Library to Convert HTML to PDF?

不确定它们是否能满足您的特定要求,但这些至少可以帮助您入门。

编辑:

其他一些可能的选项here。

【讨论】:

【参考方案4】:

不是 MFC,但您可以尝试 QtWebKit。它可以将 HTML 渲染和导出为 PDF、PNG、JPEG

【讨论】:

以上是关于使用 Win32/MFC 将 HTML 文件转换为 PDF的主要内容,如果未能解决你的问题,请参考以下文章

如何本地化 win32(非 MFC)DLL

使用 Win32/MFC 关闭并等待子框架窗口的最佳方法

在无模式对话框中阻止 ESC 和 Enter 键(Win32,非 MFC)

在 Win32/MFC 和 POSIX 中,线程会自行清理吗?

Win32/MFC/COM学习推荐书籍

从 C# 访问 Win32/MFC “Stuff”