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

时间:2012-08-24 18:37:24

标签: c++ winapi mfc pdf-generation

作为我申请的一部分,我的客户要求我提供自动电子邮件系统。作为该系统的一部分,我生成HTML代码并使用自动化通过它发送。观。

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

  

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

提前致谢!

编辑:只是为了澄清,我正在寻找最小化外部依赖性的解决方案。

4 个答案:

答案 0 :(得分:1)

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

您可以从命令行调用它,而无需运行安装程序。

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

内部使用webkit + qt。因此,与现代HTML的兼容性是可以的。

希望它有所帮助。

答案 1 :(得分:0)

我看看PDF Creator,它可以用作COM对象(它的作用就像打印机一样)。我没有用它来打印HTML,所以我不确定,但我的猜测是你可能最终必须实例化一个Web浏览器控件来呈现HTML,然后从那里将它提供给PDF控件

答案 2 :(得分:0)

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

C++ Library to Convert HTML to PDF?

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

编辑:

其他一些可能的选项here

答案 3 :(得分:0)

不是MFC,但你可以试试QtWebKit。它可以渲染HTML并将其导出为PDF,PNG,JPEG