1

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

我的代码是这样的:

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。

4

1 回答 1

0

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

于 2010-09-18T01:40:41.053 回答