java - 使用 Java 将 HTML 转换为 PDF

标签 java html jsoup html-to-pdf

我有一个 HTML,想将其转换为内存中的 pdf,但找不到好的库来将 HTML 转换为 PDF。

我已经尝试使用ITextRendererJsoup但抛出异常无法加载XML资源(使用TRAX转换器)。 org.xml.sax.SAXParseException;行号:1;列数:3;文档中根元素之前的标记必须格式正确。

这是我的代码

                Document document = Jsoup.parse(template, "UTF-8");
                document.outputSettings().syntax(Document.OutputSettings.Syntax.html);
                ByteArrayOutputStream binaryOutput = new ByteArrayOutputStream();
                renderer.setDocumentFromString(document.html());
                renderer.layout();
                renderer.createPDF(binaryOutput);

  

最佳答案

您正在寻找一种呈现 HTML 并将其存储为 PDF 的方法。 在这个问题中,人们尝试渲染 XML(它接近 HTML,而且肯定是 XHTML)以最终将其转换为 PDF: Java Render XML Document as PDF

但出现错误消息: 该错误与您未显示的输入文档有关。根元素之前的文档应该/可以如下所示:

<?xml version="1.0"?>
<!-- comment -->
<?processinginstruction whatever parameters?>
<rootElement/>

所以 <rootElement/> 之前的一切是您的错误消息所指向的内容。我猜您正在查看一个 HTML 文档,它可能包含 JSoup HTML 解析器正在努力处理的内容。除非您与我们分享该文档,否则您必须自己弄清楚。

关于java - 使用 Java 将 HTML 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72874593/

相关文章:

java - Swing 中的流布局

html - 列中导航的 100% 宽度会溢出 bootstrap 3 中的页面

html - DIV 缩放后变为矩形

html - 由于流媒体网站导致 Jsoup 延迟

java - 从 CheckStyle 生成编码指南

java - 使用此代码 (PHP) 向多个设备发送推送通知

java - Collection 接口(interface)中的 containsAll() 和 retainAll() 是否处理基数?

javascript - 如何在当前滚动位置垂直居中对话框

java - 如何从Java中的html字符串中按顺序获取所有html标签

java - Jsoup无法从网页中提取股票价格