5

我想通过 iText 将我的 Swing JComponent 打印为 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 文件中没有显示任何内容。你知道如何解决这个问题吗?

4

3 回答 3

4

我已经弄清楚添加 addNotify 和 validate 帮助。

    com.addNotify();
    com.validate();
于 2009-01-10T09:29:53.150 回答
2

我需要打电话

com.addNotify()
com.setSize()
com.validate()
于 2009-04-20T15:21:45.367 回答
1

我对 iText 了解不多,但是...您确实PdfWriter在某个时候关闭了,对吗?

于 2009-01-08T19:59:52.967 回答