我還想導出我的JComponent到PDF出口的JComponent與iText的PDF
我的組件是「條例(其中提請大量文本和線條的,小圖像(一種小詞的應用)定製的paintComponent方法) 「
我使用這個(工作,但有些方法已過時)的方法是:
com.itextpdf.text.Rectangle r = new com.itextpdf.text.Rectangle(0,0,bill.getWidth(),bill.getHeight());
Document document = new Document(r);
try {
PdfWriter writer;
writer = PdfWriter.getInstance(document, new FileOutputStream(f));
document.open();
PdfContentByte cb = writer.getDirectContent();
PdfTemplate tp = cb.createTemplate(bill.getWidth(), bill.getHeight());
Graphics2D g2d = tp.createGraphics(bill.getWidth(), bill.getHeight(), new DefaultFontMapper());
bill.addNotify();
bill.validate();
bill.paint(g2d);
g2d.dispose();
cb.addTemplate(tp, 0, 0);
}
catch(Exception e) {
e.printStackTrace();
}
document.close();
它工作的很好,但有兩個大問題:該方法tp.createGraphics被棄用(所以可能會有更好的解決方案)並且如果擺動組件是v大,它只是在PDF上打印在一個單一的頁面上。
所以我需要的是一個「分頁器」來幫助我創建A4大小的頁面以便於打印。當jcomponent非常大時沒有緩衝區溢出......
任何人都可以幫忙嗎?