private void print2() {
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("jTable1.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
cb.saveState();
Graphics2D g2 = cb.createGraphicsShapes(800, 500);
Shape oldClip = g2.getClip();
g2.clipRect(0, 0, 800, 500);
g2.translate(100, 100);
JPanel1.print(g2);
// jTable1.print(g2);
g2.setClip(oldClip);
g2.dispose();
cb.restoreState();
} catch (Exception e) {
System.err.println(e.getMessage());
}
document.close();
}السلام عليكم
هذه الدالة تأخذ Panel وتضع كل مافيه في ملف PDF وهذا ماأريده ولكن هناك مشكلتان
الأولى : عند فتح ملف الـ PDF أجد أنه تم رسم الـ Panel في الملف من وسط الصفحة تقريبًا , وأنا أريده يبدأ من رأس الصفحة ,
الثانية : إذا كان الـ Panel أطول من الصفحة لايتم إضافة صفحة جديدة فيها باقي الـ Panel بل يُفقد الباقي .
ملاحظة : الدالة مقتبسة من الرابط :
http://stackoverflow.com/questions/3167219/java-jtable-export-to-pdf
