Como faço para pintar componentes de giro em um arquivo pdf com o iText?
-
06-07-2019 - |
Pergunta
Gostaria de imprimir meu JComponent Swing via iText para 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( );
Infelizmente, nada é mostrado no arquivo PDF. Você sabe como resolver esse problema?
Solução
Eu descobri que adicionar addnotify e validar ajuda.
com.addNotify( ); com.validate( );
Outras dicas
Eu precisava ligar
com.addNotify()
com.setSize()
com.validate()
Eu não sei muito sobre o ITEXT, mas ... você fechou o PdfWriter
Em algum momento, certo?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow