Alguns problemas com iText

3 respostas
S

pessoal,

desde jah agradeco a ajuda de todos ( e a paciencia tambem… )… estou fazendo um programa java relacionado a um banco de dados. Já está tudo pronto… o problema é que quando eu gero relatórios pelo iText, eu encontro alguns problemas :

  1. Quando eu insiro uma figura em um arquivo pdf ela fica muito distorcida… talvez eu esteja usando o metodo errado… estou usando Jpeg.getInstance() ; ele insere a figura, mas a distorce… tentei usar o método Image.getInstance(), mas deu na mesma…

  2. Existe alguma forma de eu gerar um documento no formato paisagem ao invés de retrato. Eu estou utilizando exatamente 14 campos no meu banco de dados… Não dá para listar uma tabela com muitos dados em orientação retrato… não cabe…

  3. Quanto a criptografia, através da classe PdfWriter eu chamo o método setEncryption(byte[] b, byte[] b0, int i, int i0), defino as permissões, mas, quando rodo o programa, ele dá esse erro :


(obs.: agendaipmg é o nome do package e Exportar o nome do JDialog)


Exception occurred during event dispatching:

java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1OctetString

at com.lowagie.text.pdf.PdfEncryption.(Unknown Source)

at com.lowagie.text.pdf.PdfWriter.setEncryption(Unknown Source)

at agendaipmg.Exportar.createDocument(Exportar.java:211)

at agendaipmg.Exportar.etapa6(Exportar.java:364)

at agendaipmg.Exportar.tbpEtapasStateChanged(Exportar.java:1658)

at agendaipmg.Exportar.access$200(Exportar.java:45)

at agendaipmg.Exportar$4.stateChanged(Exportar.java:959)

at javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:400)

at javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:253)

at javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:116)

at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:50)

at javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:599)

at javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:574)

at agendaipmg.Exportar.Next(Exportar.java:192)

at agendaipmg.Exportar.keyPressed(Exportar.java:1682)

at java.awt.Component.processKeyEvent(Component.java:5996)

at javax.swing.JComponent.processKeyEvent(JComponent.java:2794)

at java.awt.Component.processEvent(Component.java:5815)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)

at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:693)

at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:958)

at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:830)

at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:657)

at java.awt.Component.dispatchEventImpl(Component.java:4282)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)

at java.awt.Dialog$1.run(Dialog.java:1039)

at java.awt.Dialog$3.run(Dialog.java:1091)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Dialog.show(Dialog.java:1089)

at java.awt.Component.show(Component.java:1419)

at java.awt.Component.setVisible(Component.java:1372)

at java.awt.Window.setVisible(Window.java:801)

at java.awt.Dialog.setVisible(Dialog.java:979)

at agendaipmg.Exportar.(Exportar.java:55)

at agendaipmg.Principal.exportar(Principal.java:843)

at agendaipmg.Principal.keyPressed(Principal.java:773)

at java.awt.Component.processKeyEvent(Component.java:5996)

at javax.swing.JComponent.processKeyEvent(JComponent.java:2794)

at java.awt.Component.processEvent(Component.java:5815)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)

at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:693)

at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:958)

at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:830)

at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:657)

at java.awt.Component.dispatchEventImpl(Component.java:4282)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Alguém poderia m ajudar… ando pesquisando bastante sobre iText… mas não acho nada que tire minhas dúvidas… por isso o tópico…

De novo, obrigado.

3 Respostas

S

parece q eu postei o topico várias vezes… vou tentar ajeitar isso… foi mal, gente…

W

Vamos por partes :

1 - Eu incluo figuras diretamente assim :

ImageIcon figura = new ImageIcon(nomedafigura);

value = figura.getImage();
- Eu tive problemas com a figura, para ficar legal eu utilizei GIF sem fundo transparente, utilize uma cor para o fundo e use uma figura maior em pixel's, por exemplo para colocar um logo com mais ou menos 4 Cm impresso numa folha A4 eu utilizei uma imagem GIF de 714x177.

2 - Quando criar o documento no iText use isso :
new com.lowagie.text.Document(PageSize.A4.rotate());

3 - O erro da criptografia pela Exception que você passou, é que está faltando o JAR com o algoritmo BouncyCastle, procura na internet (http://www.bouncycastle.org/) e coloca junto tudo no classpath quando for rodar o projeto .

S

pow, wally_java…

vlw, Kra… resolveu o problema… vlw msm !!! :slight_smile:

Criado 14 de agosto de 2007
Ultima resposta 15 de ago. de 2007
Respostas 3
Participantes 2