sto cercando di esportare la JTable in PDF tramite iText.
ho messo su questa classe:
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();
}
}
come Dimension gli passo la dimensione della jtable con il metodo getSize().
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??