私は jscrollpane 内に jpanel を持っています。 jpanel
(一部を含むlabel
)のすべてのコンテンツtextarea
を pdf 形式にエクスポートしたいと考えています。現在、私は次のコードを使用していますjbutton
:
Document document = new Document(PageSize.A4.rotate(),50,50,50,50);
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\Admin\\Desktop\\test1.pdf"));
document.open();
PdfContentByte contentByte = writer.getDirectContent();
//jp is the jpanel
PdfTemplate template = contentByte.createTemplate(jp.getWidth(), jp.getHeight());
Graphics2D g2 = template.createGraphics(jp.getWidth(),jp.getHeight());
g2.scale(0.8, 1);
jp.printAll(g2); // also tried with jp.paint(g2), same result
g2.dispose();
//document.close();
contentByte.addTemplate(template, 5, 60);
} catch (Exception e) {
e.printStackTrace();
}
finally{
if(document.isOpen()){
document.close();
}
}
出力: pdfの下部を取得していjpanel
ます... (jpanel のサンプショットを作成しましたが、私の評判では画像の投稿が許可されていません)、上部は破棄されています。最後の部分は単一のページとしてエクスポートされていると思います使用されている。最初の部分は上書きされています (これは単なる推測です!) 全体jpanel
を表示するには、スクロールする必要があります... パネル全体 (上から下まで) を複数のページにエクスポートする方法A4ページ。助けてください。前もって感謝します。
注:私は netbeans を使用して GUI を開発しています。私itextpdf-5.4.1
は Java プログラミングの初心者です。