1 votes

Convertir un composant Swing en PDF à l'aide d'iText

J'ai un JFrame, que je souhaite enregistrer en tant que PDF. Comment puis-je peindre ce JFrame en utilisant iText ?

public PrintFrameToPDF(JFrame bill)  {
    try {
        Document d = new Document();
        PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream ("sample.pdf"));

        d.open ();

        // HOW ?

        d.close ();
    }
    catch(Exception e)  {
        //
    }
}

2voto

Jes Points 2078

Cela devrait faire l'affaire (et c'est générique pour l'objet JComponent) :

public PrintFrameToPDF(JFrame bill)  {
    try {
        Document d = new Document();
        PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream ("sample.pdf"));
        d.open ();

        PdfContentByte cb = writer.getDirectContent( );
        PdfTemplate template = cb.createTemplate(width, height);
        Graphics2D g2d = template.createGraphics(width, height);
        bill.print(g2d);
        bill.addNotify();
        bill.validate();
        g2d.dispose();

        d.close ();
    }
    catch(Exception e)  {
        //
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X