C# Java从无效的HTML创建PDF或图像

C# Java从无效的HTML创建PDF或图像,c#,java,html,validation,pdf,C#,Java,Html,Validation,Pdf,我想使用Java从“无效的”HTML文件创建PDF(或任何图像格式[png、jpg、bmp。])。我在谷歌上搜索了一下,找到了一个工具:,以及一些使用iText用Java从HTML创建PDF的教程 在本教程中,它正确地适用于有效的HTML,我有一个类似的PDF文件。但是,如果我尝试从HTML创建PDF,我会出现一些错误 首先,我的HTML格式不好,不幸的是无法更改。我把它上传到了,W3C的验证器找到了 我的选择是: 首先清理和有效我的HTML和创建PDF很快 找到另一个工具(可以解决我的问题)

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

在本教程中,它正确地适用于有效的HTML,我有一个类似的PDF文件。但是,如果我尝试从HTML创建PDF,我会出现一些错误

首先,我的HTML格式不好,不幸的是无法更改。我把它上传到了,W3C的验证器找到了

我的选择是:

  • 首先清理和有效我的HTML和创建PDF很快
  • 找到另一个工具(可以解决我的问题)
  • 您的建议(使用Java)
  • 最后选择;使用另一个平台(.net、Php、Python等)和 使用我的应用程序中的Web服务

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

您可以使用类似于修复HTML的工具,并针对jTidy的输出运行iText…

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


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

try
wkhtmltopdf
。这首先使用无头浏览器(webkit)呈现html,然后生成PDF。我在我的一个java项目中使用了它,效果很好


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

看起来你“快到了”。我个人的想法是修复HTML并使用有效的工具,正如您自己看到的那样。修复28个HTML错误(特别是如果这是您自己的模板,而不是您从“外部”获得的东西)可能比转换到其他平台或工具更容易、更快,因为其他平台或工具也可能无法处理无效的HTML。此HTML是数千种变体之一。它不是静态的,并且(可以)在每次调用中动态变化。问题是,两个不同的程序以不同的方式呈现有效的HTML是完全正常的,更不用说呈现无效的HTML了。HTML的确切来源是什么?有什么方法可以纠正它吗?尽管你说你不能,但你真的需要修复你的HTML。考虑到SAP是一家提供支持的大型公司(我认为),应该可以针对HTML问题提交错误。谢谢你的回答。我现在试过了,但它并不能解决我的问题;然后使用iText,它给了我一个PDF。但是PDF文件看起来不像Firefox的解释,它们是不同的..我明白了。您可以尝试其他HTML整理解决方案,而不是jTidy,因为如果这个专用工具对您来说做得不够好,我怀疑其他转换器会做得更好……谢谢,这正是我需要的。