ボタンをクリックしても何も起こりません。JSFボタンでjavaメソッドを実行します。
このボタンは、私がpdfに変換したいXHTMLファイルです。 Javaクラスのコードここにある:
public class ParseHtml12 {
public static final String DEST = "C:\\Users\\User\\Desktop/report.pdf";
public static final String HTML = "web/data.xhtml";
public static void main(String[] args) throws IOException, DocumentException {
File file = new File(DEST);
file.getParentFile().mkdirs();
new ParseHtml12().createPdf(DEST);
}
public void createPdf(String file) throws IOException, DocumentException {
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
writer.setInitialLeading(12);
document.open();
XMLWorkerHelper.getInstance().parseXHtml(writer, document,
new FileInputStream(HTML));
document.close();
}
}
このコードは良いですが、唯一の問題は、ボタンのクリックでクラスを実行する方法です。 IDEでクラスを実行すると結果はわかりますが、問題はXHTMLのコンテンツが動的で値を取得しないということです。
値を入力するときにクラスを実行すると、これで目的の結果が得られます。
UPDATE:ボタンをクリックすると、動的データが表示されなくなります。もう一度クリックすると、次のようになります。 javax.el.PropertyNotFoundException: /data.xhtml @48,45 action="#{parseHtml12.createPdf}": Target Unreachable, identifier 'parseHtml12' resolved to null
これはiTextの質問ではないようです。自分で書くと、JavaのコードのiText部分はIDEで実行すると問題ないので、問題はJSFで分離されます。 iTextタグを削除することをお勧めします。 –