e; COLOR: red; FONT-FAMILY: Verdana; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
rdana">iText e JODConverter: O iText é um projeto que permite criar novos arquivos PDF ou manipular existentes. Ele possui uma API considerada de baixo nível e é utilizado por várias ferramentas de geração de relatório. Utilizamos o iText para elaborar um simples algoritmo de criação de PDF a partir de um arquivo TXT. Também o utilizamos para criar arquivos PDF a partir de imagens JPG, GIF, PNG ou TIFF. O JODConverter é uma API que facilita o uso do UNO (Universal Network Objects), que por sua vez, é uma API disponibilizada pelo Open Office para acessar remotamente suas funcionalidades. O UNO permite utilizar os algoritmos de conversão para PDF do Open Office, possibilitando converter arquivos de vários formatos como DOC, RTF, ODT, XLS, ODS, etc. O UNO é uma API de baixo nível, dessa forma, utilizamos o JODConverter que tem por objetivo, criar uma casca sobre o UNO facilitando a execução da conversão de documentos. Portable Document Format (PDF) é um formato de arquivo criado pela Adobe Systems. O formato permite capturar e visualizar informações consistentes – a partir de quase todo aplicativo ou sistema operacional – e compartilhá-las praticamente com qualquer pessoa, em qualquer lugar. Por este motivo, tornou-se um formato muito popular para troca de documentos pela Internet, em um ambiente heterogêneo. O formato também é popular por agregar funcionalidades de assinatura digital, formulários e multimídia, e exibi-los de forma portável entre diferentes sistemas operacionais. Dessa forma, tornou-se muito comum para uma aplicação web exibir dados para o usuário no formato PDF. Seja em relatórios, seja em documentos importantes, como notas fiscais ou recibos. Uma crítica comum que o PDF enfrentava tradicionalmente, era a de ser um formato de arquivo proprietário – apesar de ser, em grande parte, baseado no padrão PostScript. Mas a Adobe recentemente abriu a especificação do PDF, que foi ratificado em julho deste ano pelo padrão ISO 32000-1. Neste artigo será demonstrado como utilizar Java para criar documentos PDF, a partir de documentos de suítes de escritório, imagens ou arquivos de texto. Isto será útil para aplicações que possuem documentos armazenados nesses formatos, mas desejam exibir o documento de maneira portável em um formato popular e read-only. Ferramentas utilizadas Iremos utilizar a biblioteca iText para converter arquivos TXT e imagens. Para converter documentos do Microsoft Office (ou Open Office) iremos utilizar o JODConverter. O código fonte do artigo está disponível para download Caso o leitor queira, pode fazer o download dos projetos nos seus respectivos sites. Para efetuar o download, acesse o site da biblioteca iText e do projeto JODConverter (veja a seção de links no final do artigo). Inclua o único JAR do iText e todos os JAR’s presentes na pasta lib da distribuição do JODConverter no classpath. Interface para conversão de documentos Para tornar a conversão de documentos extensível e adaptável criamos a interface da Listagem 1. O contrato dessa interface é receber um array de bytes de um documento em formato específico e transforma-lo O propósito da interface ConversaoParaPDF é não acoplar a aplicação com as API’s utilizadas. Isso permite que possamos mudar os algoritmos de conversão sem grandes impactos. Outro benefício é a possibilidade do uso de polimorfismo, como veremos mais adiante. Listagem 1. ConversaoParaPDF.java - Interface a ser implementada pelos algoritmos de conversão. public interface ConversaoParaPDF { public byte[] converterDocumento(byte[] documentoParaConverter) throws ImpossivelConverterDocumentoException; } Conversão de arquivos de texto Para converter um arquivo TXT para PDF utilizaremos uma biblioteca muito famosa no universo Java. O iText é uma biblioteca que permite criar arquivos PDF do zero ou abrir existentes e manipulá-los. Ele é utilizado por várias “engines” Java de geração de relatórios. O algoritmo de conversão é muito simples. Lemos o arquivo TXT linha a linha, e então, inserimos no documento do iText um parágrafo para cada linha. Se a linha for vazia, adicionamos um parágrafo em branco. Veja o algoritmo na Listagem Listagem 2. ConversaoAPartirDeTexto.java – Conversão de arquivos TXT para PDF utilizando o iText. import java.io.*; import com.lowagie.text.*; import com.lowagie.text.pdf.*; import br.com.jm.conversor.pdf.*; ... 
Quer ler esse conteúdo completo?
Tenha acesso completo