Как нарисовать компоненты Swing в PDF-файл с помощью iText? - PullRequest
5 голосов
/ 08 января 2009

Я бы хотел напечатать свой Swing JComponent через iText в формате PDF.

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( );

К сожалению, в файле PDF ничего не отображается. Вы знаете, как решить эту проблему?

Ответы [ 3 ]

4 голосов
/ 10 января 2009

Я понял, добавив addNotify и проверить справки.

    com.addNotify( );
    com.validate( );
2 голосов
/ 20 апреля 2009

Мне нужно было позвонить

com.addNotify()
com.setSize()
com.validate()
1 голос
/ 08 января 2009

Я не так много знаю об iText, но ... вы в какой-то момент закрыли PdfWriter, верно?

...