Gerando PDF Em Java

download Gerando PDF Em Java

of 9

Transcript of Gerando PDF Em Java

  • >

    Blog da Softblue

    Este artigo foi criado por Carlos Eduardo Gusso Tosin.Conhea o currculo completo do instrutor clicando aqui.

    Gerando PDF em Java

    Publicado em 24/05/2010 s 14:17:55 horas. Compartilhe:

    O formato PDF muito utilizado porque se trata de uma forma fcil de distribuir documentos, alm de serpossvel visualiz-los em qualquer plataforma.Como documentos PDF so amplamente utilizados, existem diversas maneiras de ger-los. E claro que o Javano poderia car de fora! Atravs do uso da API iText, voc pode criar seus prprios arquivos PDF atravs doJava.

    O objetivo deste artigo mostrar como gerar documentos PDF em Java, usando a API iText. Voc aprendercomo congurar os elementos da pgina do documento, alm de como inserir textos, imagens e tabelas.

    A API iText

    O iText a API utilizada para gerar PDFs. Ela gratuita e open source. Para utilizar o iText em sua aplicao Java,entre no site http://itextpdf.com e baixe o arquivo .JAR referente ao iText 5.0.2. Depois basta adicionar o iText aoclasspath da sua aplicao e utilizar as funcionalidades desta API, que vai possibilitar que voc gere os seusdocumentos PDF. O iText funciona com a verso 5 do Java ou superior.

    Documento

    hora de comearmos a aprendar a usar o iText! E a primeira classe que voc deve conhecer a classeDocument. Ela representa o documento PDF, e para criar um documento PDF do tamanho A4 no modo retrato, ocdigo ca assim:

    A classe PageSize possui diversas constantes para tamanhos comuns de pginas (LETTER, NOTE, A0, A1, A2,etc.). possvel tambm denir o tamanho manualmente, desta forma:

    Neste caso, usada a classe Rectangle, que representa as dimenses de um retngulo.

    Sistema de medidas

    importante destacar como funcionam as medidas utilizadas pelo iText. Se voc quiser especicar as medidasdas pginas dos documentos ou das margens, voc deve ter em mente que voc deve utilizar pontos. Comoestamos mais acostumados a trabalhar na escala mtrica, voc pode escrever um cdigo que faa a conversoda escala mtrica para pontos. A relao : 2,54cm = 72 pontos.

    No exemplo anterior, o uso de 595x841 pontos dene as pginas do documento como tendo tamanho 21,0x29,7cm, o que equivale ao tamanho A4.

    Margens das Pginas

    Mailing List

    Cadastre o seu e-mail parareceber notcias e informaessobre novos cursos, sorteios eoutras novidades!

    Diferenciais

    Liberdade totalEstude quando e comoquiser. Disponibilidade docontedo 24h por dia, 7 diaspor semana.

    Matrcula no expiraPagamento nico, semmensalidades, e acessovitalcio a todo o contedo,mesmo aps a concluso docurso.

    Cursos sempre atualizadosAcesso s atualizaes doscursos de forma automtica.

    Tire suas dvidasSuporte eciente paraesclarecer suas dvidas nodecorrer do curso.

    Padro de qualidadeAtendimento diferenciado ematerial de alta qualidade,feito por quem entende doassunto.

    Certicado

    Insira o cdigo do certicadoque deseja consultar:

    Pagamento

    1 Document doc = new Document(PageSize.A4);

    1 Rectangle rect = new Rectangle(595, 841);2 Document doc = new Document(rect);

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    1 de 9 05/04/2014 00:21

  • Para denir margens nas pginas do documento, basta que elas sejam especicadas no construtor da classeDocument, como feito a seguir:

    Lembre-se de especicar as margens em pontos, e no no sistema mtrico! O cdigo acima dene que otamanho das pginas ser A4 com margens de 2,54cm na esquerda, direita, em cima e embaixo.

    Preparando o documento para receber dados

    Aps a criao do objeto que representa o documento, necessrio seguir mais alguns passos antes deiniciarmos a insero dos dados. O cdigo que representa este passo mostrado a seguir:

    Vamos tentar entender o que mostrado neste cdigo. Primeiramente, devemos criar uma stream de sada,indicando o destino do documento PDF. Neste caso estamos interessados em gerar o documento em um arquivo,portanto criamos um FileOutputStream, indicando qual ser o nome do arquivo de sada.

    Na sequncia, necessrio chamar o mtodo getInstance() da classe PdfWriter, para que ele associe odocumento stream de sada.

    O ltimo passo antes de iniciarmos a criao do documento, abri-lo. Isto feito atravs da chamada ao mtodoopen(). importante que, ao nal da insero dos dados no documento, o mesmo seja fechado atravs domtodo close(). E outro detalhe importante: todas as modicaes no documento (como congurao demargens e tamanho de pginas) devem ser feitas antes da chamada ao mtodo close().

    Gerando seu primeiro PDF em Java

    Agora voc j sabe tudo o que precisa para comear a escrever o seu primeiro arquivo PDF usando o iText. Ocdigo abaixo mostra um exemplo completo da gerao de um arquivo PDF simples, usando o que voc viu nestaparte inicial:

    Este o esqueleto bsico de cdigo que voc ir utilizar ao criar seus arquivos PDF, mudando apenas o contedo.Na sequncia voc ver mais detalhes sobre a classe Paragraph.

    Textos

    A forma mais fcil de adicionar textos ao PDF utilizar a classe Paragraph. Esta classe permite que vocadicione blocos de texto ao documento. O texto inserido na pgina como se voc estivesse utilizando um editorde textos. O iText respeita as margens que voc especicou para o documento e tambm gerenciaautomaticamente as quebras de linha. Observe o cdigo abaixo, que gera dois blocos de texto como sada:

    1 Document doc = new Document(PageSize.A4, 72, 72, 72, 72);

    1 OutputStream os = new FileOutputStream("out.pdf");2 PdfWriter.getInstance(doc, os);3 doc.open();

    01 import java.io.FileOutputStream;02 import java.io.OutputStream;03 import com.itextpdf.text.Document;04 import com.itextpdf.text.PageSize;05 import com.itextpdf.text.Paragraph;06 import com.itextpdf.text.pdf.PdfWriter;07 08 public class PrimeiroPDF {09 public static void main(String[] args) throws Exception {10 Document doc = null;11 OutputStream os = null;12 13 try {14 //cria o documento tamanho A4, margens de 2,54cm15 doc = new Document(PageSize.A4, 72, 72, 72, 72);16 17 //cria a stream de sada18 os = new FileOutputStream("out.pdf");19 20 //associa a stream de sada ao21 PdfWriter.getInstance(doc, os);22 23 //abre o documento24 doc.open();25 26 //adiciona o texto ao PDF27 Paragraph p = new Paragraph("Meu primeiro arquivo PDF!");28 doc.add(p);29 30 } finally {31 if (doc != null) {32 //fechamento do documento33 doc.close();34 }35 if (os != null) {36 //fechamento da stream de sada37 os.close();38 }39 }40 }41 }

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    2 de 9 05/04/2014 00:21

  • O construtor da classe Paragraph recebe o texto como parmetro. Depois basta chamar o mtodo add() paraadicionar o texto ao PDF.

    Alterando a fonte

    Nem sempre a fonte utilizada por padro pelo iText a fonte que voc deseja nos seus documentos. Logo, possvel que voc altere a fonte dos textos que voc adiciona ao PDF.

    A fonte representada pela classe com.itextpdf.text.Font. Basta criar um objeto desta classe com afonte desejada e associ-lo ao texto. Observe o exemplo:

    O cdigo acima cria uma fonte da famlia Courier, tamanho 20, itlica. O enum FontFamily e a classe Fontpossuem tambm outras constantes para voc explorar.

    A associao entre a fonte e o texto feita no construtor da classe Paragraph, desta forma:

    Pronto! Voc j tem um ttulo para o seu PDF! Observe como cou o resultado:

    Alinhamento

    Muitas vezes o alinhamento esquerda no o suciente. O iText proporciona outras formas de alinhamento dotexto. Observe:

    O mtodo setAlignment() permite especicar um alinhamento para o bloco. Neste caso, p1 ser alinhado nocentro da linha. Observe:

    Espaamento

    Caso voc deseje ter um controle maior sobre o espaamento utilizado antes e depois de um bloco de texto,voc pode utilizar os mtodos setSpacingBefore() e setSpacingAfter(). Observe:

    Neste exemplo, aps p1 ser adicionado ao documento, ser deixado um espao em branco extra de 20 pontos.Observe:

    1 Paragraph p1 = new Paragraph("Meu primeiro arquivo PDF!");2 doc.add(p1);3 4 Paragraph p2 = new Paragraph("Estou utilizando a classe Paragraph para criar um

    bloco de texto na gerao do meu primeiro arquivo PDF.");5 doc.add(p2);

    1 Font f = new Font(FontFamily.COURIER, 20, Font.BOLD);

    1 Paragraph p1 = new Paragraph("Meu primeiro arquivo PDF!", f);

    1 p1.setAlignment(Element.ALIGN_CENTER);

    1 p1.setSpacingAfter(20);

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    3 de 9 05/04/2014 00:21

  • Imagens

    Da mesma forma que textos, imagens tambm podem ser inseridas no documento PDF. A maneira mais fcil defazer isto atravs da classe com.itextpdf.text.Image. Ela utilizada desta forma:

    Basta chamar o mtodo getInstance() da classe, passando o caminho da imagem que deve ser carregada, edepois adicionar a imagem ao documento atravs do mtodo add(). Os mtodos setAlignment(),setSpacingBefore() e setSpacingAfter() j vistos anteriormente tambm podem ser aplicados simagens. Observe como ca o resultado:

    Tabelas

    O iText possui tambm suporte criao de tabelas. Observe uma tabela simples abaixo que contm algumaspalavras reservadas do Java:

    O cdigo que gera a tabela acima o seguinte:

    Vamos tentar entender o que signica este cdigo. Ao trabalhar com tabelas no iText, voc basicamente vai usarduas classes: PdfPTable e PdfPCell. A primeira representa a tabela, enquanto a ltima representa uma clulada tabela.

    A chamada new PdfPTable(3) cria uma tabela com 3 colunas, de forma que a largura das colunas a mesma.Veremos na sequncia como especicar larguras diferentes para cada coluna.

    Depois criamos um objeto da classe PdfPCell, que ir representar o cabealho da nossa tabela. No construtordo PdfPCell voc pode passar um objeto Paragraph contendo o texto que ser colocado na clula. Umacaracterstica importante do cabealho que ele deve ocupar as 3 colunas da tabela. Por este motivo ns

    1 Image img = Image.getInstance("softblue.jpg");2 img.setAlignment(Element.ALIGN_CENTER);3 doc.add(img);

    01 PdfPTable table = new PdfPTable(3);02 PdfPCell header = new PdfPCell(new Paragraph("Algumas Palavaras Reservadas do

    Java"));03 header.setColspan(3);04 table.addCell(header); 05 table.addCell("abstract");06 table.addCell("extends");07 table.addCell("import");08 table.addCell("while");09 table.addCell("if");10 table.addCell("switch");11 doc.add(table);

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    4 de 9 05/04/2014 00:21

  • usamos o mtodo setColspan(3).

    Toda vez que desejamos adicionar uma clula tabela, chamamos o mtodo addCell(). Neste mtodopodemos passar tanto objetos PdfPCell como os textos de cada clula diretamente (neste caso o prprio iTextgera o objeto PdfPCell internamente). Perceba que em nenhum momento voc diz em qual linha ou coluna databela a clula ser inserida. O iText vai inserindo as clulas de cima para baixo e da esquerda para a direita. Ogerenciamento da criao de novas linhas feito de forma automtica.

    Depois de preparar a tabela, basta adicion-la ao documento atravs da chamada doc.add(table).

    Denindo a Largura das Colunas

    Como vimos anteriormente, ao construirmos uma tabela informando apenas o nmero de colunas, o iText deixatodas as colunas com o mesmo tamanho, o que nem sempre o ideal.

    A melhor forma de especicar a largura das colunas da tabela usar a forma relativa. Ela funciona assim: vocindica qual o tamanho da coluna com relao largura total da tabela. Observe:

    Ao passar um array de nmeros no construtor da PdfPTable, voc est indicando um tamanho relativo paracada coluna. Como o array tem 3 elementos, a tabela ter trs colunas. Agora voc deve pensar da seguinteforma: todas as colunas da tabela juntas representam 100%. E, neste caso, a primeira coluna representa 20%, asegunda 20% e a terceira 60%. Perceba que as duas primeiras colunas tero o mesmo tamanho, e a terceiracoluna ser trs vezes maior que cada coluna anterior. O resultado nal ca assim:

    Mudando o tamanho e alinhamento da tabela

    O iText permite tambm que voc especique qual o tamanho e o alinhamento da tabela com relao dodocumento. Isto feito atravs dos mtodos setWidthPercentage() e setHorizontalAlignment().Observe:

    No exemplo acima, estamos denindo que a tabela deve ocupar apenas 60% da largura do documento. Tambmestamos denindo que ela deve ser alinhada direita. Observe o resultado:

    Customizando as bordas e cores

    possvel tambm customizarmos as bordas das clulas e as cores das bordas e das clulas. Observe o cdigoabaixo:

    Ele gera como resultado:

    1 PdfPTable table = new PdfPTable(new float[] { 0.2f, 0.2f, 0.6f });

    1 table.setWidthPercentage(60.0f);2 table.setHorizontalAlignment(Element.ALIGN_RIGHT);

    1 header.setBackgroundColor(BaseColor.YELLOW);2 header.setBorderWidthBottom(2.0f);3 header.setBorderColorBottom(BaseColor.BLUE);4 header.setBorder(Rectangle.BOTTOM);

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    5 de 9 05/04/2014 00:21

  • O mtodo setBackgroundColor() dene a cor de fundo da clula. O mtodo setBorderWitdhBottom()dene a largura da linha da borda inferior. O mtodo setBorderColorBottom() dene a cor da borda inferior.E o mtodo setBorder() dene em que parte das clula a borda deve existir. Usando Rectangle.BOTTOM,estamos denindo que existe apenas uma borda inferior na clula.

    importante que voc saiba que existem variantes dos mtodos que denem a largura e cor da linha da borda.Utilizamos neste exemplo os mtodo setBorderWidthBottom() e setBorderColorBottom(), para a bordainferior, mas possvel tambm usar os mtodos equivalentes top, left e right (para borda superior,esquerda e direita, respectivamente.

    Concluso

    Este artigo introduziu a API iText, usada para gerar documentos PDF em Java. O que est descrito aqui apenasuma viso inicial de algumas funcionalidades importantes do iText. Mas muita coisa alm do que est descritoaqui pode ser feita. Consulte a pgina ocial da API para ter maiores informaes.

    Comentrios

    bommesmo

    Enviado em 30/12/2012 s 14:58:20 horas, por bom

    Parabns, ajudou-me muito no meu trabalho da faculdade!! Obrigado!

    Enviado em 14/11/2012 s 19:55:05 horas, por Jos Cordeiro

    Andr, no sei o que pode estar acontecendo, pois nunca tive esse problema. Sugiro que voc procure nadocumentao do iText, mais precisamente na classe Image, que deve ter alguma coisa por l. Abrao!

    Enviado em 01/11/2012 s 13:31:12 horas, por Carlos Tosin

    Bom dia a todos.

    Ao adicionar uma imagem no pdf notei que a mesma est redimensionando (no cando no tamanho original)como fao para deix-la no tamanho original ?

    E parabns pelo tutorial muito til.

    Enviado em 01/11/2012 s 10:44:53 horas, por Andr Souza

    Bom artigo, mas lembrando que existe a opo de utilizar plugins nas IDE's como o Jasper e IReport que facilitammuito a parte visual.

    Enviado em 01/10/2012 s 15:01:56 horas, por Henrique

    Muito bom mesmo o artigo. tudo o que eu precisava. Parabns pela apresentao e pela didtica.

    Enviado em 05/09/2012 s 20:21:58 horas, por GALVANI LUPPI

    timo tpico e perfeita explicao, ajudaram muito.Obrigado.

    Enviado em 03/09/2012 s 05:45:05 horas, por Maurcio Cayres

    Danilo, no sei o que pode estar acontecendo. Apenas com estas informaes difcil saber. Se com o debug vocno conseguiu descobrir, recomendo que voc grave algumas mensagens de log em arquivo para que o cdigoque voc executa a partir do JAR d a voc mais informaes sobre o que est acontecendo. Abrao!

    Enviado em 30/08/2012 s 16:42:07 horas, por Carlos Tosin

    ola, estou com um problema dentro da ide que no caso e o netbeans funciona direitinho mas quando eu construo

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    6 de 9 05/04/2014 00:21

  • gero o .jar ele chega ate a gerar o pdfmas ca como se nao tivesse o documento em si eu ja depurei o cod ele trava quando chega na parte dodoc.close() os.close()

    Enviado em 29/08/2012 s 11:19:08 horas, por danilo

    Excelente tutorial, me ajudou, estava pesquisando sobre isso para o meu TCC e basicamente tudo que euprecisava sobre salvamento de arquivos em PDF achei aqui, muito obrigado.

    Enviado em 27/08/2012 s 20:18:04 horas, por Felipe

    Bruno, essa questo da gerao do arquivo no est relacionada com o iText, mas sim com a prpria API de I/O doJava. Se voc usar o FileOutputStream, o arquivo ser sobrescrito toda vez que voc executar o cdigo.Existem outras opes tambm, ento recomendo que voc tente se familiarizar mais com a API de I/O. Abrao!

    Enviado em 13/05/2012 s 22:01:29 horas, por Carlos Tosin

    ol,Criei um metodo atravez dessa classe, porem se o pdf foi criado uma vez, ele nao cria outro, tenho que exclui-lopara assim conseguir gerar outro PDF.Tem alguma solucao ?Obrigado

    Enviado em 13/05/2012 s 13:14:27 horas, por Bruno

    Thiago, no existe uma forma certa ou errada de fazer. O que existe a forma que mais se adapta suanecessidade, lembrando sempre que importante deixar o seu cdigo bem estruturado. Voc deve analisar issoquando for integrar sua aplicao com o iText. Abrao!

    Enviado em 25/04/2012 s 11:52:32 horas, por Carlos Tosin

    Muito Obrigado pelo Tpico, Professor!

    Estou Aprendendo a fundo mesmo a Linguagem java e Delphi , mas tenho uma dvida a seguinte : onde possocolocar o cdigo acima dentro de um Evento de Um Boto em Aplicativo java , como por exemploActionPerformed ?

    Exemplo:

    private void jButton1.ActionPerformed(java.awt.event.actionEvent evt) {

    //o cdigo do iText aqui

    }

    Seria assim ou de outra maneira?

    Enviado em 24/04/2012 s 19:51:31 horas, por Thiago Vincius dos Santos - Rio de Janeiro

    Marcos, na hora de criar o FileOutputStream basta voc fornecer o caminho completo do arquivo comoparmetro (ex: C:\\Arquivos\\arquivo.pdf). Abrao!

    Enviado em 14/04/2012 s 16:32:32 horas, por Carlos Tosin

    muito bom seu artigo! mas eu queria saber como fao pra direcionar o pdf para uma pasta especica?

    Enviado em 14/04/2012 s 14:27:29 horas, por marcos

    alguem sabe ou tem um exemplo de gerar relatorio com o itext com valores do banco de dados?? por favor,obrigado!

    Enviado em 31/10/2011 s 17:04:40 horas, por Nathan

    CARLOS, esta API faz apenas a gerao de PDFs. Recomendo que voc d uma procurada na internet atrs deAPIs que fazem o inverso. Abrao!

    Enviado em 28/10/2011 s 13:49:36 horas, por Carlos Tosin

    E como eu converto do pdf gerado para texto novamente?

    Enviado em 28/10/2011 s 11:43:09 horas, por CARLOS

    como eu posso deixar os elementos de uma tabela centrrializados.

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    7 de 9 05/04/2014 00:21

  • Enviado em 05/10/2011 s 12:24:05 horas, por Julio Machado

    Muito boa explicao. Valeu mesmo!!!

    Enviado em 04/03/2011 s 22:17:57 horas, por Vtor

    muito bom este artigo, s tenho uma pergunta, se eu quiser pegar vrios componentes de tela que esto dentrode um JPanel, tambm possivel ?

    Enviado em 11/01/2011 s 08:21:39 horas, por Diogo

    Simplesmente juntar os bytes dos arquivos para formar um PDF s no possvel. Mas voc pode dar umainvestigada na API se existe a possibilidade de criar um novo documento e ir adicionando novas pginas, de formaque cada pgina seja dos PDFs que voc quer juntar.

    Enviado em 19/11/2010 s 17:03:13 horas, por Carlos Tosin

    Tem como eu juntar todos esse pdf's gerados em apenas um? Me ajuda por favor.Obrigado.

    Enviado em 19/11/2010 s 12:49:13 horas, por Cassio

    Ricardo, o mtodo getInstance() da classe Image pode receber um nome de uma imagem (comomencionado no artigo), mas tambm pode receber um array de bytes. Basta voc fazer Image img =Image.getInstance(bytes). O array de bytes pode ser a imagem armazernada no banco de dados, comovoc mencionou.

    Enviado em 18/11/2010 s 23:33:35 horas, por Carlos Tosin

    Como eu posso adicionar uma imagem em um pdf que est no Banco de dados? e recuperado em byte[]?

    Enviado em 18/11/2010 s 18:42:41 horas, por Ricardo rosa

    O que foi explicado neste artigo gera o arquivo PDF no sistema de arquivos (no local desejado). Ento o arquivoca gravado l. Depois basta voc ir at ele e carreg-lo.

    Enviado em 08/11/2010 s 20:53:04 horas, por Carlos Tosin

    Muito boa a explicao, s queria saber,se quando voc usa este mtodo, ele j abre o arquivo PDF ao salv-lo?

    Enviado em 08/11/2010 s 19:57:59 horas, por Janser Lemes

    Professor Carlos, achei muito legal a dica de gerar PDF, e aproveitando eu deu uma olha no curso oferecido, eassisti a aula de demonstrao e achei Show-de-bola... Estou muito interessado em adquirir os Cursos...Aproveitando quero deixar uma dica de assunto a ser abordado pelo Blog: Digitalizao de imagens oudocumentos com Scanner.

    Enviado em 20/07/2010 s 20:05:14 horas, por Mrcio

    Ol estou a procura de um aplicativo que le pfd em celulares para Java, se alguem souber de algum ou tenhadesenvolvido algum favo e-mail para [email protected]

    Enviado em 24/05/2010 s 22:06:25 horas, por Ricardo

    Ol Julio Cesar. Voc pode pegar dados sim de um banco de dados e gerar uma nota scal em PDF. Quanto aocdigo de barras, voc nem precisa da fonte do Windows que voc mencionou. O iText j tem suporte criaode cdigos de barras. Voc diz o nmero e ele renderiza como cdigo de barras no PDF. Consulte a documentaodo iText para mais informaes sobre essa funcionalidade. J usei na prtica num sistema real e funciona bem!

    Enviado em 24/05/2010 s 18:44:05 horas, por Carlos Tosin

    Muito Bom Professor. Posso tambm pegar arquivos do banco de dados e colocar no pdf. Exemplo uma notascal....

    Pode ser chamado por um servlet para gerar na web... Ele pega as fontes do windows... Por exemplo se eu por afonte de barras..d pra gerar o codigo de barras...Se sim resolver meus problemas..

    Enviado em 24/05/2010 s 18:07:19 horas, por Julio Cesar

    Usando apenas o iText, no possvel. Existe uma API chamada POI, feita pela Apache (http://poi.apache.org) quepermite a leitura e escrita de documentos do Microsoft Word. Da d para tentar criar alguma aplicao Java que

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    8 de 9 05/04/2014 00:21

  • use o POI para ler um .doc e use o iText para gerar o PDF.

    Enviado em 24/05/2010 s 16:29:10 horas, por Carlos Tosin

    Muito boa a explicao. Parabns.Uma pergunta com esta API no possvel buscar um documento .doc por exemplo, e transform-lo em PDF?

    Enviado em 24/05/2010 s 16:10:40 horas, por Mlory Zolino

    Cursos | Perguntas | Sobre ns | Sorteios | Blog | Poltica de Privacidade | Contato Desde 2003. Todos os direitos reservados

    Gerando PDF em Java http://www.softblue.com.br/blog/home/postid/7/GERANDO_PDF_EM_JAVA

    9 de 9 05/04/2014 00:21