SwingコンポーネントをiTextでPDFファイルにペイントするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/425590

質問

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ファイルには何も表示されません。 この問題を解決する方法を知っていますか?

役に立ちましたか?

解決

addNotifyおよびvalidateヘルプを追加することがわかりました。

    com.addNotify( );
    com.validate( );

他のヒント

電話をかける必要がありました

com.addNotify()
com.setSize()
com.validate()

iTextについてはあまり知りませんが、...ある時点で PdfWriter を閉じましたか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top