我创建了一个简单的发票程序,我有一个用户设置发票的框架,您认为生成发票的pdf文件的最佳方式是什么。
这是我的代码,但它不能很好地工作,因为它不打印整个框架而只是框架的一部分。
public void PrintPdf(JPanel panel)throws IOException, DocumentException{
com.itextpdf.text.Document doc=new com.itextpdf.text.Document();
try{
//PdfWriter.getInstance(doc, new FileOutputStream("Fattura.pdf"));
PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream("Fattura.pdf"));
doc.open();
PdfContentByte contentByte = writer.getDirectContent();
PdfTemplate template = contentByte.createTemplate(500, 500);
Graphics2D g2 = template.createGraphics(500, 500);
panel.print(g2);
g2.dispose();
contentByte.addTemplate(template, 30, 800);
//doc.add(new Paragraph("Hello this is a pdf file from project tabelle"));
} catch (Exception e) {
e.printStackTrace();
}
finally{
if(doc.isOpen()){
doc.close();
}
}
任何人都可以帮我修改代码或建议其他方式吗?