gpt4 book ai didi

java - 使用 Flying Saucer 打印时 DOM 创建的文档中不允许出现序言中的内容

转载 作者:行者123 更新时间:2023-12-01 05:54:02 25 4
gpt4 key购买 nike

我正在尝试使用我的 Flying Saucer ( https://xhtmlrenderer.dev.java.net ) 打印一些文本。该文档是使用 DOM-API 生成的,但当打印开始时,出现“序言中不允许的内容”异常。出现此异常的原因是什么?

我的代码是这样的:

DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder;
documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element html = document.createElement("html");
document.appendChild(html);
Element body = document.createElement("body");
html.appendChild(body);
for (String paragraph : paragraphs) {
Element paragraphTag = document.createElement("p");
paragraphTag.setTextContent(paragraph);
body.appendChild(paragraphTag);
}
XHTMLPanel panel = new XHTMLPanel();
panel.setDocument(document);

print(new XHTMLPrintable(panel));

print 方法采用 Printable 并将其放入 PrintJob 中。

最佳答案

XHTMLPrintable 不适用于仅存在于 RAM 中的文档。 XHTMLPrintable 尝试使用给定文档生成 URL。然后将此“url”用作 Graphics2DRenderer 的文档 - 失败。然后我编写了自己的 XHTMLPrintable,它采用 Document 而不是 XHTMLPanel。

关于java - 使用 Flying Saucer 打印时 DOM 创建的文档中不允许出现序言中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3660740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com