sto cercando di esportare la JTable in PDF tramite iText.
ho messo su questa classe:
come Dimension gli passo la dimensione della jtable con il metodo getSize().codice:import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfTemplate; import com.itextpdf.text.pdf.PdfWriter; import java.awt.Dimension; import java.awt.Graphics2D; import java.io.FileNotFoundException; import java.io.FileOutputStream; import javax.swing.JTable; public class ExportPdf { public void createPdf(JTable table, String file, Dimension d) throws FileNotFoundException, DocumentException { int width = d.width; int heigth = d.height; System.out.println(width + " " + heigth); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file)); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(width, heigth); Graphics2D g2 = tp.createGraphicsShapes(width, heigth); table.print(g2); g2.dispose(); cb.addTemplate(tp, 30, 0); document.close(); } }
il problema è che il file viene tagliato sia in larghezza che in altezza.
quindi si vedono poche righe e poche colonne.
il System.out però riporta queste dimensioni: 1799 1712
quindi dovrebbero essere giuste.
dove sbaglio??

Rispondi quotando