1
我有一個jscrollpane內的jpanel,我想將所有內容jpanel
(其中包括一些label
,textarea
)導出爲pdf格式。目前我使用一個jbutton
此代碼:如何將可滾動jpanel保存爲pdf或任何格式
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的sanpshot但我的名譽不允許張貼圖片),上半部分被丟棄。我認爲最後一部分正在使用單頁進行導出。第一部分是寫完(這只是一個猜測!) 爲了查看整個jpanel
我們需要滾動...如何將整個面板(從上到下)導出到多個頁面作爲jpanel的高度是超過A4頁面。請幫助。提前致謝。
注:我使用netbeans來開發我的gui和itextpdf-5.4.1
。我是一個java編程的初學者。