Je voudrais imprimer mon composant Swing JComponent via iText en pdf.Comment peindre des composants Swing dans un fichier PDF avec iText?
JComponent com = new JPanel();
com.add(new JLabel("hello"));
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dFile));
document.open();
PdfContentByte cb = writer.getDirectContent();
PdfTemplate tp = cb.createTemplate(pageImageableWidth, pageImageableHeight);
Graphics2D g2d = tp.createGraphics(pageImageableWidth, pageImageableHeight, new DefaultFontMapper());
g2d.translate(pf.getImageableX(), pf.getImageableY());
g2d.scale(0.4d, 0.4d);
com.paint(g2d);
cb.addTemplate(tp, 25, 200);
g2d.dispose();
Malheureusement rien n'est affiché dans le fichier PDF. Savez-vous comment résoudre ce problème?
Oui. JavaDoc de addNotify() dit qu'il "ne devrait pas être appelé directement par les programmes", mais en pratique, il est nécessaire dans un contexte sans tête (exportation sans interface graphique). Sinon, les enfants du composant ne sont pas disposés et gardent une taille de zéro. – PhiLho