4

我想使用Java从“无效” HTML文件创建PDF(或任何图像格式 [ png、jpg、bmp ..]) 。我搜索了它并找到了一个工具:iText,以及一些使用 iText 从 HTML 和 Java 创建 PDF 的教程。

在本教程(X)HTML to PDF with Java中,它适用于有效的 HTML,我有一个这样的 PDF文件。但是,如果我尝试从我的 HTML 创建 PDF,我会遇到一些错误。

首先,我的 HTML 格式不正确,很遗憾无法更改。我把它上传到这里,W3C 的验证器发现了28 个错误

我的选择是:

  • 首先清理并验证我的 HTML 并尽快创建 PDF。
  • 找到另一个工具(适用于我的问题)。
  • 您的建议(使用 Java)。
  • 最后一个选项;使用另一个平台(.net、Php、Python等)并使用我的应用程序中的 Web 服务。

请帮我解决这个问题。先感谢您

4

3 回答 3

4

您可以使用http://jtidy.sourceforge.net/之类的工具为您修复 HTML 并针对 jTidy 的输出运行 iText...

于 2012-06-04T11:58:19.103 回答
2

试试wkhtmltopdf。这使用无头浏览器(webkit)首先呈现 html,然后生成 PDF。我在我的一个 java 项目中使用它并且运行良好。

它提供了一些灵活的命令行选项,这里是选项列表及其用法的链接。它也适用于格式不正确的 html。

于 2012-06-08T14:24:03.323 回答
2

您可以使用支持损坏 HTML 的 HTML 解析器,例如jsoup

与 jtidy 一样,它可以自动创建有效的 HTML,但它也允许您操作 HTML DOM,因此您可以尝试按照自己想要的方式明确地解决最大的问题。

于 2012-06-04T13:41:39.040 回答