1

空飛ぶ円盤 ( 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 に入れます。

4

1 に答える 1

0

XHTMLPrintableは、RAMに存在するだけのドキュメントでは機能しません。XHTMLPrintableは、指定されたドキュメントを使用してURLを生成しようとします。この「url」は、Graphics2DRendererのドキュメントとして使用されます-失敗します。次に、XHTMLPanelの代わりにDocumentを使用する独自のXHTMLPrintableを作成しました。

于 2010-09-18T01:40:41.053 に答える