Redalyc.Triangulação entre métodos na administração: gerando ...
[Dicas-L] Gerando PDF Utilizando Java
-
Upload
rodrigowsa -
Category
Documents
-
view
218 -
download
0
Transcript of [Dicas-L] Gerando PDF Utilizando Java
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 16
Paacutegina 1cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
HOME ARQUIVO COLUNAS CURSOS ARTIGOS HOT LINKS ENVIAR DICA FAQ CADASTRO CONTATO RSS
Visite tambeacutem Seguranccedila Linux middot UnderLinux middot VivaOLinux middot LinuxSecurity middot NoticiasLinux middot BR-Linux middot SoftwareLivreorg middot [mais]
Busca ok
Navcity NC430
a partir de
R$ 49900
Sony Bravia
KDL55EX505 LCD
lla partir de
R$ 439900
Outras ofertas
TV LCD
TV Plasma
DVD Player
Vocecirc estaacute aqui Home rarrrarrrarrrarr Arquivo Dicas-L
ASSINE A LISTA D ICAS-L
OK
Receba diariamente por emailas dicasde informaacutetica publicadas neste sitePara se descadastrar clique aqui
GERANDO PDF UTILIZANDO JAVA
Colaboraccedilatildeo Carlos Tosin
Data de Publicaccedilatildeo 01 de junho de 2010
Tutorial Api Pdf
Descubra a Central de Agecircncias Oficial do Google AdWords Aqui
googlecombradwordswebexpert
O formato PDF eacute muito utilizado porque se trata de uma forma faacutecil de distribuirdocumentos aleacutem de ser possiacutevel visualizaacute-los em qualquer plataforma
Como documentos PDF satildeo amplamente utilizados existemd iversas maneiras de geraacute-los E eacuteclaro queo Java natildeo poderia ficar de fora Atraveacutes do uso da API iText vocecirc pode criar seusproacuteprios arquivos PDF atraveacutes do Java
O objetivo deste artigo eacute mostrar comogerar documentos PDF em Java usando a API iText Vocecirc aprenderaacute como configurar os elementos da paacutegina do documento aleacutem de como inserirtextos imagens e tabelas
A API ITEXT
O iText eacute a API utilizada para gerar PDFs Elaeacute gratuita e open source Para utilizar o iText emsuaaplicaccedilatildeo Java entre no site httpitextpdfcom e baixe o arquivo JAR referente aoiText 502 Depois basta adicionar o iText ao classpath da sua aplicaccedilatildeo e utilizar asfuncionalidades desta API que vai possibilitar que vocecirc gere os seus documentos PDF O iTextfunciona com a versatildeo 5 do Javaou superior
DocumentoEacute hora de comeccedilarmos a aprendar a usaro iText E a primeira classe que vocecircdeveconhecer eacute a classeDocument Ela representa o documento PDF e para criar umdocumento PDF do tamanho A4 no modo retrato o coacutedigo fica assim
D983151983139983157983149983141983150983156 983140983151983139 = 983150983141983159 D983151983139983157983149983141983150983156(983120983137983143983141983123983145983162983141A4)
A classe PageSize possui diversasconstantes para tamanhos comuns de paacuteginas( LETTERNOTE A0 A1 A 2 etc) Eacute possiacutevel tambeacutem definir o tamanho manualmente destaforma
983122983141983139983156983137983150983143983148983141 983154983141983139983156 = 983150983141983159 983122983141983139983156983137983150983143983148983141(595 841)
D983151983139983157983149983141983150983156 983140983151983139 = 983150983141983159 D983151983139983157983149983141983150983156(983154983141983139983156)
Neste caso eacute usadaa classe Rectangle que representa as dimensotildees de um retacircngulo
Sistema de medidas
Eacute importante destacar como funcionam as medidas utilizadas pelo iText Se vocecirc quiserespecificar as medidas das paacuteginas dos documentos ou das margens vocecirc deve terem ment eque vocecirc deve utilizar pontos Como estamos mais acostumados a trabalhar na escala meacutetrica
Submarinocombr
Encontre imoacuteveis
apartamentos e casas
a venda no Imobilien
Saiba mais
Roupas moda e bolsas
femininas noMuccaShop
Anuacutencios classificados
e buscador declassificados carrosclassificados casas eclassificados emprego
Inversatildeo de URLs
Aprenda Inglecircs em CasaMetodo inovador e criativo para
quem tem pouco tempo Veja osdepoimentos de nossos alunos
Saiba mais
Carlos J E Campos
Info
APF e COBOL MaterialExemplos e Artigoswwwcarloscamposinfocom
UML-Orientaccedilatildeo a
Objetos
Consultoria eTreinamento comEnterprise Architectwwwoatsolutionscom br
Model Driven
DevelopmentFerramenta demodelagem e geraccedilatildeode software com baseem templateswwwinfoparcom
Software Scrum
Graacutetis
Ferramenta Web para
Gerecircncia de ProjetosAacutegeis Scrum - Freewwwscrumhalfcombr
Curso Online de
Dephi
3 x R$2997 SUPORTE100 Incluso Estudeem casa comcertificaccedilatildeowwwtreinawebcombr
Procure pela casa ou
apartamento ideal agrave venda ou para aluguel
na busca inteligente doImohoo
Buscar imoacuteveis
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 26
Paacutegina 2cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
vocecirc pode escreverum coacutedigo que faccedila a conversatildeo da escala meacutetrica para pontos A relaccedilatildeo eacute254cm = 72 pontos
No exemplo anterior o uso de 595x841 pontos define as paacuteginas do documento como tendotamanho 210x297 cm o que equivale ao tamanho A4
Margens das Paacuteginas
Para definir margens naspaacuteginas do documento bastaque elas sejam especificadas noconstrutor da classe Document como eacute feito a seguir
D983151983139983157983149983141983150983156 983140983151983139 = 983150983141983159 D983151983139983157983149983141983150983156(983120983137983143983141983123983145983162983141A4 72 72 72 72)
Lembre-se de especificar as margens em pontos e natildeo no sistema meacutetrico O coacutedigo acimadefine que o tamanho das paacuteginas seraacute A4 com margens de 2 54cm na esquerda direita emcima e embaixo
Preparando o documento para receber dados
Apoacutes a criaccedilatildeo do objeto que representa o documento eacute necessaacuterio seguir mais alguns passosantes de iniciarmosa inserccedilatildeo dos dados O coacutedigo que representaeste passo eacute mostrado aseguir
983119983157983156983152983157983156983123983156983154983141983137983149 983151983155 = 983150983141983159 F983145983148983141983119983157983156983152983157983156983123983156983154983141983137983149(983151983157983156983152983140983142)
983120983140983142983127983154983145983156983141983154983143983141983156I983150983155983156983137983150983139983141(983140983151983139 983151983155)
983140983151983139983151983152983141983150()
Vamos tentar entender o que eacute mostrado neste coacutedigo Primeiramente devemos criar umastream de saiacuteda indicando o destino do documento PDF Neste caso estamos interessados emgerar o documento em um arquivo portanto criamos um FileOutputStream indicando qual seraacuteo nome do arquivo de saiacuteda
Na sequecircncia eacute necessaacuterio chamar o meacutetodo getInstance() da classe PdfWriter para queeleassocie o documento agrave stream de saiacuteda
O uacuteltimo passo antes de iniciarmos a criaccedilatildeo do documento eacute abri -lo Isto eacute feito atraveacutes da
chamada ao meacutetodo open() Eacute importante que ao final da inserccedilatildeo dos dados no documento omesmo seja fechado atraveacutes do meacutetodo close() E outrodetalhe importante todas asmodificaccedilotildees nodocument o (como configuraccedilatildeo de margens e tamanho de paacuteginas) devem serfeitas antes da chamada aomeacutetodo close()
Gerando seu primeiro PDF em Java
Agora vocecirc jaacute sabe tudo o que precisa para comeccedilar a escrever o seu primeiro arquivo PDFusando o iText O coacutedigo abaixo mostra um exemplo completo da geraccedilatildeo de um arquivo PDFsimples usando o quevocecirc viu nesta parteinicial
983145983149983152983151983154983156 983146983137983158983137983145983151F983145983148983141983119983157983156983152983157983156983123983156983154983141983137983149
983145983149983152983151983154983156 983146983137983158983137983145983151983119983157983156983152983157983156983123983156983154983141983137983149
983145983149983152983151983154983156 983139983151983149983145983156983141983160983156983152983140983142983156983141983160983156D983151983139983157983149983141983150983156
983145983149983152983151983154983156 983139983151983149983145983156983141983160983156983152983140983142983156983141983160983156983120983137983143983141983123983145983162983141
983145983149983152983151983154983156 983139983151983149983145983156983141983160983156983152983140983142983156983141983160983156983120983137983154983137983143983154983137983152983144
983145983149983152983151983154983156 983139983151983149983145983156983141983160983156983152983140983142983156983141983160983156983152983140983142983120983140983142983127983154983145983156983141983154
983152983157983138983148983145983139 983139983148983137983155983155 983120983154983145983149983141983145983154983151983120DF 983163
983152983157983138983148983145983139 983155983156983137983156983145983139 983158983151983145983140 983149983137983145983150(983123983156983154983145983150983143983131983133 983137983154983143983155) 983156983144983154983151983159983155 E983160983139983141983152983156983145983151983150 983163 D983151983139983157983149983141983150983156 983140983151983139 = 983150983157983148983148
983119983157983156983152983157983156983123983156983154983141983137983149 983151983155 = 983150983157983148983148
983156983154983161 983163
983139983154983145983137 983151 983140983151983139983157983149983141983150983156983151 983156983137983149983137983150983144983151 A4 983149983137983154983143983141983150983155 983140983141 254983139983149
983140983151983139 = 983150983141983159 D983151983139983157983149983141983150983156(983120983137983143983141983123983145983162983141A4 72 72 72 72)
983139983154983145983137 983137 983155983156983154983141983137983149 983140983141 983155983137983277983140983137
983151983155 = 983150983141983159 F983145983148983141983119983157983156983152983157983156983123983156983154983141983137983149(983151983157983156983152983140983142)
983137983155983155983151983139983145983137 983137 983155983156983154983141983137983149 983140983141 983155983137983277983140983137 983137983151
983120983140983142983127983154983145983156983141983154983143983141983156I983150983155983156983137983150983139983141(983140983151983139 983151983155)
983137983138983154983141 983151 983140983151983139983157983149983141983150983156983151
983140983151983139983151983152983141983150()
983137983140983145983139983145983151983150983137 983151 983156983141983160983156983151 983137983151 983120DF
983120983137983154983137983143983154983137983152983144 983152 = 983150983141983159 983120983137983154983137983143983154983137983152983144(983117983141983157 983152983154983145983149983141983145983154983151 983137983154983153983157983145983158983151
983120DF)
983140983151983139983137983140983140(983152)
983165 983142983145983150983137983148983148983161 983163
983145983142 (983140983151983139 = 983150983157983148983148) 983163
983142983141983139983144983137983149983141983150983156983151 983140983151 983140983151983139983157983149983141983150983156983151
983140983151983139983139983148983151983155983141()
983165
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 36
Paacutegina 3cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
983145983142 (983151983155 = 983150983157983148983148) 983163
983142983141983139983144983137983149983141983150983156983151 983140983137 983155983156983154983141983137983149 983140983141 983155983137983277983140983137
983151983155983139983148983151983155983141()
983165
983165
983165
983165
Este eacute o esqueleto baacutesico de coacutedigo que vocecirc iraacute utilizar ao criar seus arquivos PDF mudandoapenaso conteuacutedo Na sequecircncia vocecirc veraacute mais detalhes sobrea classe Paragraph
TEXTOS
A forma mais faacutecil de adicionar textos ao PDF eacute utilizar a classe Paragraph Esta classe permite
que vocecirc adicione blocos de texto ao documento O texto eacute inserido na paacutegina como se vocecircestivesse utilizando um editor de textos O iText respeitaas margens que vocecirc especificou parao documento e tambeacutemgerencia automaticamente as quebras de linha Observe o coacutedigoabaixo que gera dois blocosde textocomo saiacuteda
983120983137983154983137983143983154983137983152983144 9831521 = 983150983141983159 983120983137983154983137983143983154983137983152983144(983117983141983157 983152983154983145983149983141983145983154983151 983137983154983153983157983145983158983151 983120DF)
983140983151983139983137983140983140(9831521)
983120983137983154983137983143983154983137983152983144 9831522 = 983150983141983159 983120983137983154983137983143983154983137983152983144(E983155983156983151983157 983157983156983145983148983145983162983137983150983140983151 983137 983139983148983137983155983155983141
983120983137983154983137983143983154983137983152983144 983152983137983154983137 983139983154983145983137983154 983157983149 983138983148983151983139983151 983140983141 983156983141983160983156983151 983150983137 983143983141983154983137983271983267983151 983140983151 983149983141983157 983152983154983145983149983141983145983154983151
983137983154983153983157983145983158983151 983120DF)
983140983151983139983137983140983140(9831522)
O construtor da classe Paragraph recebe o texto comoparacircmetro Depois basta chamar o meacutetodo
add() para adicionar o texto ao PDF
Alterando a fonte Nem sempre a fonte utilizada porpadr atildeo pelo iText eacute a fonte quevocecircdeseja nos seus documentos Logo eacute possiacutevel que vocecirc altere a fonte dos textos quevocecirc
adiciona ao PDF
A fonte eacute representada pela classe comitextpdf textFont Basta criar um objeto desta classe coma fonte desejada e associaacute-lo ao texto Observe o exemplo
F983151983150983156 983142 = 983150983141983159 F983151983150983156(F983151983150983156F983137983149983145983148983161C983119983125983122IE983122 20 F983151983150983156B983119983116D)
O coacutedigo acima cria uma fonte da famiacutelia Courier tamanho 20 itaacutelica O enum FontFamily e aclasse Font possuem tambeacutemoutras constantes para vocecirc explorar
A associaccedilatildeo entre a fonte e o texto eacute feita no construtor da classe Paragraph destaforma
983120983137983154983137983143983154983137983152983144 9831521 = 983150983141983159 983120983137983154983137983143983154983137983152983144(983117983141983157 983152983154983145983149983141983145983154983151 983137983154983153983157983145983158983151 983120DF 983142)
Pronto Vocecirc jaacutetem um tiacutetulo para o seuPDF Observecomo ficouo resultado
[httpwwwdicas-lcombrimagensitext_01jpg ]
Alinhamento Muitas vezes o alinhamento agrave esquerda natildeo eacute o suficiente O iText proporciona
outrasformas de alinhamento do texto Observe
9831521983155983141983156A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135CE983118983124E983122)
Omeacutetodo setAlignment() permite especificar um alinhamentop ara o bloco Neste caso p1 seraacutealinhado no centroda linha Observe
[httpwwwdicas-lcombrimagensitext_02jpg ]
Espaccedilamento Caso vocecirc deseje ter um controle maior sobre o espaccedilamento utilizado antes edepois de um bloco de texto vocecirc pode utilizar os meacutetodos setSpacingBefore () e setSpacingAfter
() Observe
9831521983155983141983156983123983152983137983139983145983150983143A983142983156983141983154(20)
Neste exemplo apoacutes p 1 ser adicionado aodocument o seraacute deixado um espaccedilo em branco extrade 20 pontos Observe
[httpwwwdicas-lcombrimagensitext_03jpg ]
IMAGENS
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 46
Paacutegina 4cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Damesma formaque textos imagens tambeacutempodem ser inseridasno documento PDF A maneira mais faacutecil de fazer isto eacute atraveacutes da classe comitextpdftextImage Ela eacute utilizada destaforma
I983149983137983143983141 983145983149983143 = I983149983137983143983141983143983141983156I983150983155983156983137983150983139983141(983155983151983142983156983138983148983157983141983146983152983143)
983145983149983143983155983141983156A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135CE983118983124E983122)
983140983151983139983137983140983140(983145983149983143)
Bastachamar o meacutetodo getInstance() da classe passando o caminho da imagemque devesercarregada e depois adicionar a imagem ao documento atraveacutes do meacutetodo add() Os meacutetodos
setAlignment() setSpacingBefore() e setSpacingAfter() jaacute vistos anteriormente tambeacutem podem seraplicados agraves imagens Observe como fica o resultado
[http wwwsoftbluecombrpublicblog7itext_04jpg]
TABELAS
O iText possui tambeacutem suporte agrave criaccedilatildeo de tabelas Observe uma tabela simples abaixo queconteacutem algumas palavras reservadasd o Java
[http wwwsoftbluecombrpublicblog7itext_05jpg]
O coacutedigo que gera a tabela acima eacute o seguinte
983120983140983142983120983124983137983138983148983141 983156983137983138983148983141 = 983150983141983159 983120983140983142983120983124983137983138983148983141(3)
983120983140983142983120C983141983148983148 983144983141983137983140983141983154 = 983150983141983159 983120983140983142983120C983141983148983148(983150983141983159 983120983137983154983137983143983154983137983152983144(A983148983143983157983149983137983155 983120983137983148983137983158983137983154983137983155
983122983141983155983141983154983158983137983140983137983155 983140983151 J983137983158983137))
983144983141983137983140983141983154983155983141983156C983151983148983155983152983137983150(3)
983156983137983138983148983141983137983140983140C983141983148983148(983144983141983137983140983141983154)
983156983137983138983148983141983137983140983140C983141983148983148(983137983138983155983156983154983137983139983156)
983156983137983138983148983141983137983140983140C983141983148983148(983141983160983156983141983150983140983155)
983156983137983138983148983141983137983140983140C983141983148983148(983145983149983152983151983154983156)
983156983137983138983148983141983137983140983140C983141983148983148(983159983144983145983148983141)
983156983137983138983148983141983137983140983140C983141983148983148(983145983142)
983156983137983138983148983141983137983140983140C983141983148983148(983155983159983145983156983139983144) 983140983151983139983137983140983140(983156983137983138983148983141)
Vamos tentar entender o que significa este coacutedigo Ao trabalhar com tabelas no iText vocecirc basicamente vai usar duas classes PdfPTable e PdfPCell A primeira representa a tabelaenquanto a uacuteltima representauma ceacutelulada tabela
A chamada new PdfPTable(3) cria uma tabela com 3 colunas de forma quea largura das colunaseacute a mesma Veremos na sequecircncia como especificar largurasdiferentes para cada coluna
Depois criamos um objeto da classe PdfPCell que iraacute representar o cabeccedilalho da nossa tabelaNo construtor do PdfPCell vocecirc pode passar um objeto Paragraph contendo o texto que seraacutecolocado na ceacutelula Uma caracteriacutestica importante do cabeccedilalho eacute que eledeve ocupar as 3colunas da tabela Por este motivo noacutes usamos o meacutetodo setColspan(3)
Toda vez que desejamos adicionar uma ceacutelula agrave tabela chamamos o meacutetodo addCell() Nestemeacutetodo podemos passar tanto objetos PdfPCell como os textos de cada ceacuteluladiretamente (nestecaso o proacuteprio iText gera o objeto PdfPCell internamente) Perceba que em nenhum momentovocecirc diz em qual linha ou coluna da tabela a ceacutelula seraacute inserida O iText vai inserindo asceacutelulas de cima para baixoe da esquerdapara a direita O gerenciamento da criaccedilatildeo de novas
linhaseacute feito de forma automaacutetica
Depois de preparar a tabela bastaadicionaacute -la ao documento atraveacutes da chamadadocadd(table)
Definindo a Largura das Colunas Comovimos anteriormente ao construirmosumatabela informando apenas o nuacutemero de colunas o iText deixa todas as colunas com o mesmotamanho o que nem sempre eacute o ideal
A melhor forma de especificar a largura das colunas da tabela eacute usar a forma relativa Elafunciona assim vocecirc indica qual o tamanho da coluna com relaccedilatildeo agrave largura total da tabelaObserve
983120983140983142983120983124983137983138983148983141 983156983137983138983148983141 = 983150983141983159 983120983140983142983120983124983137983138983148983141(983150983141983159 983142983148983151983137983156983131983133 983163 02983142 02983142 06983142 983165)
Ao passar um array de nuacutemeros no construtor da PdfPTable vocecirc estaacute indicando um tamanhorelativo para cada coluna Como o array tem 3 elementos a tabela teraacute trecircs colunas Agora vocecircdeve pensar da seguinte forma todas as colunas da tabela juntas representam 100 E n estecaso a primeiracoluna rep resenta 20 a segunda 20 e a terceira 60 Perceba queas duasprimeiras colunas teratildeo o mesmo tamanho e a terceira coluna seraacute trecircs vezes maior quecada
coluna anterior O resultado final fica assim
[http wwwsoftbluecombrpublicblog7itext_06jpg]
Mudando o tamanho e alinhamento da tabela O iTextpermite tambeacutemque vocecircespecifique qual o tamanho e o alinhamentoda tabela com relaccedilatildeo do documento Isto eacute feitoatraveacutes dos meacutetodos setWidthPercentage() e setHorizontalAlignment() Observe
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 56
Paacutegina 5cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
983156983137983138983148983141983155983141983156983127983145983140983156983144983120983141983154983139983141983150983156983137983143983141(600983142)
983156983137983138983148983141983155983141983156H983151983154983145983162983151983150983156983137983148A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135983122IGH983124)
No exemplo acima estamosdefinindo que a tabela deve ocupar apenas60 da largura dodocumento Tambeacutemestamos definindo que ela deve ser alinhada agrave direita Observeoresultado
[http wwwsoftbluecombrpublicblog7itext_07jpg]
Customizando as bordas e cores Eacute possiacutevel tambeacutem customizarmos as bordasd as ceacutelulase as cores das bordas e das ceacutelulas Observe o coacutedigo abaixo
983144983141983137983140983141983154983155983141983156B983137983139983147983143983154983151983157983150983140C983151983148983151983154(B983137983155983141C983151983148983151983154983129E983116983116983119983127)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154983127983145983140983156983144B983151983156983156983151983149(20983142)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154C983151983148983151983154B983151983156983156983151983149(B983137983155983141C983151983148983151983154B983116983125E)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154(983122983141983139983156983137983150983143983148983141B983119983124983124983119983117)
Ele gera como resultado
[http wwwsoftbluecombrpublicblog7itext_08jpg]
Omeacutetodo setBackgroundColor() define a cor de fundo da ceacutelula O meacutetodo setBorderWitdhBottom
() define a largura da linha da borda inferior O meacutetodo setBorderColorBottom() define a cor da borda inferior E o meacutetodo setBorder() define em que parte das ceacutelula a borda deve existirUsando RectangleBOTTOM estamos definindo que existe apenas uma borda inferior na ceacutelula
Eacute importante que vocecirc saiba queexistem variantes dos meacutetodos que definem a largura e cor dalinha da borda Utilizamos neste exemplo os meacutetodo setBorderWidthBottom() e
setBorderColorBottom() para a borda inferior mas eacute possiacutevel tambeacutem usar os meacutetodosequivalentes top left e right (para borda superior esquerda e direita respectivamente
CONCLUSAtildeO
Este artigo introduziu a API iText usada para gerar documentos PDF em Java O que estaacute
descrito aqui eacute apenas uma visatildeo inicial de algumas funcionalidades importantes do iText Masmuita coisaaleacutem do que estaacute descrito aqui pode ser feita Consulte a paacutegina oficial da API parater maiores informaccedilotildees
Carlos Tosin eacute instrutor oficial dos Cursos On-Line de Java (assista
uma viacutedeo-aula graacutetis) da Softblue formado em Ciecircncia da Computaccedilatildeo
pela PUC-PR poacutes-graduado em Desenvolvimento de Jogos para
Computador pela Universidade Positivo e Mestre em Informaacutetica na
aacuterea de Sistemas Distribuiacutedos tambeacutem pela PUC-PR Trabalha
profissionalmente com Java haacute 7 anos e possui 4 anos de experiecircncia
no desenvolvimento de sistemas para a IBM dos Estados Unidos
utilizados a niacutevel mundial Atua haacute mais de 2 anos com cursos e
treinamentos de profissionais em g randes empresas Possui as
certificaccedilotildees da Sun SCJP SCJD SCWCD SCBCD SCEA IBM SOA e
ITIL Foundation
Veja a relaccedilatildeo completa dos artigos de Carlos Tosin
StumbleUpon Digg Delicious Twitter Recomendar Contato PDF RSS Imprimir
REFEREcircNCIAS ADICIONAIS
Referecircncias adicionais sobre os assuntos abordados nestesite podem ser encontradas em nossaBibliografia
AVALIE ESTA DICA
Avaliaccedilatildeo 31 5 (267votos)
Tutorial Api Pdf
Descubra a Central de Agecircncias Oficial do Google AdWords Aqui
googlecombradwordswebexpert
OPINIAtildeO DOS LEITORES
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 66
Paacutegina 6cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Privacy Policy
O material veiculado neste site poderaacute ser livremente distribuiacutedopara fins natildeo comerciais segundo os termos da licenccedila da
Creative Commons
Seja o primeiro a comentar este artigo
Nome
Me notifique sobre novos comentaacuterios nessa paacutegina
Oculte meu email
Texto
Para publicar seu comentaacuterio digite o coacutedigo contido na imagem acima
Enviar
Powered by Scriptsmill Comments Script
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 26
Paacutegina 2cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
vocecirc pode escreverum coacutedigo que faccedila a conversatildeo da escala meacutetrica para pontos A relaccedilatildeo eacute254cm = 72 pontos
No exemplo anterior o uso de 595x841 pontos define as paacuteginas do documento como tendotamanho 210x297 cm o que equivale ao tamanho A4
Margens das Paacuteginas
Para definir margens naspaacuteginas do documento bastaque elas sejam especificadas noconstrutor da classe Document como eacute feito a seguir
D983151983139983157983149983141983150983156 983140983151983139 = 983150983141983159 D983151983139983157983149983141983150983156(983120983137983143983141983123983145983162983141A4 72 72 72 72)
Lembre-se de especificar as margens em pontos e natildeo no sistema meacutetrico O coacutedigo acimadefine que o tamanho das paacuteginas seraacute A4 com margens de 2 54cm na esquerda direita emcima e embaixo
Preparando o documento para receber dados
Apoacutes a criaccedilatildeo do objeto que representa o documento eacute necessaacuterio seguir mais alguns passosantes de iniciarmosa inserccedilatildeo dos dados O coacutedigo que representaeste passo eacute mostrado aseguir
983119983157983156983152983157983156983123983156983154983141983137983149 983151983155 = 983150983141983159 F983145983148983141983119983157983156983152983157983156983123983156983154983141983137983149(983151983157983156983152983140983142)
983120983140983142983127983154983145983156983141983154983143983141983156I983150983155983156983137983150983139983141(983140983151983139 983151983155)
983140983151983139983151983152983141983150()
Vamos tentar entender o que eacute mostrado neste coacutedigo Primeiramente devemos criar umastream de saiacuteda indicando o destino do documento PDF Neste caso estamos interessados emgerar o documento em um arquivo portanto criamos um FileOutputStream indicando qual seraacuteo nome do arquivo de saiacuteda
Na sequecircncia eacute necessaacuterio chamar o meacutetodo getInstance() da classe PdfWriter para queeleassocie o documento agrave stream de saiacuteda
O uacuteltimo passo antes de iniciarmos a criaccedilatildeo do documento eacute abri -lo Isto eacute feito atraveacutes da
chamada ao meacutetodo open() Eacute importante que ao final da inserccedilatildeo dos dados no documento omesmo seja fechado atraveacutes do meacutetodo close() E outrodetalhe importante todas asmodificaccedilotildees nodocument o (como configuraccedilatildeo de margens e tamanho de paacuteginas) devem serfeitas antes da chamada aomeacutetodo close()
Gerando seu primeiro PDF em Java
Agora vocecirc jaacute sabe tudo o que precisa para comeccedilar a escrever o seu primeiro arquivo PDFusando o iText O coacutedigo abaixo mostra um exemplo completo da geraccedilatildeo de um arquivo PDFsimples usando o quevocecirc viu nesta parteinicial
983145983149983152983151983154983156 983146983137983158983137983145983151F983145983148983141983119983157983156983152983157983156983123983156983154983141983137983149
983145983149983152983151983154983156 983146983137983158983137983145983151983119983157983156983152983157983156983123983156983154983141983137983149
983145983149983152983151983154983156 983139983151983149983145983156983141983160983156983152983140983142983156983141983160983156D983151983139983157983149983141983150983156
983145983149983152983151983154983156 983139983151983149983145983156983141983160983156983152983140983142983156983141983160983156983120983137983143983141983123983145983162983141
983145983149983152983151983154983156 983139983151983149983145983156983141983160983156983152983140983142983156983141983160983156983120983137983154983137983143983154983137983152983144
983145983149983152983151983154983156 983139983151983149983145983156983141983160983156983152983140983142983156983141983160983156983152983140983142983120983140983142983127983154983145983156983141983154
983152983157983138983148983145983139 983139983148983137983155983155 983120983154983145983149983141983145983154983151983120DF 983163
983152983157983138983148983145983139 983155983156983137983156983145983139 983158983151983145983140 983149983137983145983150(983123983156983154983145983150983143983131983133 983137983154983143983155) 983156983144983154983151983159983155 E983160983139983141983152983156983145983151983150 983163 D983151983139983157983149983141983150983156 983140983151983139 = 983150983157983148983148
983119983157983156983152983157983156983123983156983154983141983137983149 983151983155 = 983150983157983148983148
983156983154983161 983163
983139983154983145983137 983151 983140983151983139983157983149983141983150983156983151 983156983137983149983137983150983144983151 A4 983149983137983154983143983141983150983155 983140983141 254983139983149
983140983151983139 = 983150983141983159 D983151983139983157983149983141983150983156(983120983137983143983141983123983145983162983141A4 72 72 72 72)
983139983154983145983137 983137 983155983156983154983141983137983149 983140983141 983155983137983277983140983137
983151983155 = 983150983141983159 F983145983148983141983119983157983156983152983157983156983123983156983154983141983137983149(983151983157983156983152983140983142)
983137983155983155983151983139983145983137 983137 983155983156983154983141983137983149 983140983141 983155983137983277983140983137 983137983151
983120983140983142983127983154983145983156983141983154983143983141983156I983150983155983156983137983150983139983141(983140983151983139 983151983155)
983137983138983154983141 983151 983140983151983139983157983149983141983150983156983151
983140983151983139983151983152983141983150()
983137983140983145983139983145983151983150983137 983151 983156983141983160983156983151 983137983151 983120DF
983120983137983154983137983143983154983137983152983144 983152 = 983150983141983159 983120983137983154983137983143983154983137983152983144(983117983141983157 983152983154983145983149983141983145983154983151 983137983154983153983157983145983158983151
983120DF)
983140983151983139983137983140983140(983152)
983165 983142983145983150983137983148983148983161 983163
983145983142 (983140983151983139 = 983150983157983148983148) 983163
983142983141983139983144983137983149983141983150983156983151 983140983151 983140983151983139983157983149983141983150983156983151
983140983151983139983139983148983151983155983141()
983165
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 36
Paacutegina 3cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
983145983142 (983151983155 = 983150983157983148983148) 983163
983142983141983139983144983137983149983141983150983156983151 983140983137 983155983156983154983141983137983149 983140983141 983155983137983277983140983137
983151983155983139983148983151983155983141()
983165
983165
983165
983165
Este eacute o esqueleto baacutesico de coacutedigo que vocecirc iraacute utilizar ao criar seus arquivos PDF mudandoapenaso conteuacutedo Na sequecircncia vocecirc veraacute mais detalhes sobrea classe Paragraph
TEXTOS
A forma mais faacutecil de adicionar textos ao PDF eacute utilizar a classe Paragraph Esta classe permite
que vocecirc adicione blocos de texto ao documento O texto eacute inserido na paacutegina como se vocecircestivesse utilizando um editor de textos O iText respeitaas margens que vocecirc especificou parao documento e tambeacutemgerencia automaticamente as quebras de linha Observe o coacutedigoabaixo que gera dois blocosde textocomo saiacuteda
983120983137983154983137983143983154983137983152983144 9831521 = 983150983141983159 983120983137983154983137983143983154983137983152983144(983117983141983157 983152983154983145983149983141983145983154983151 983137983154983153983157983145983158983151 983120DF)
983140983151983139983137983140983140(9831521)
983120983137983154983137983143983154983137983152983144 9831522 = 983150983141983159 983120983137983154983137983143983154983137983152983144(E983155983156983151983157 983157983156983145983148983145983162983137983150983140983151 983137 983139983148983137983155983155983141
983120983137983154983137983143983154983137983152983144 983152983137983154983137 983139983154983145983137983154 983157983149 983138983148983151983139983151 983140983141 983156983141983160983156983151 983150983137 983143983141983154983137983271983267983151 983140983151 983149983141983157 983152983154983145983149983141983145983154983151
983137983154983153983157983145983158983151 983120DF)
983140983151983139983137983140983140(9831522)
O construtor da classe Paragraph recebe o texto comoparacircmetro Depois basta chamar o meacutetodo
add() para adicionar o texto ao PDF
Alterando a fonte Nem sempre a fonte utilizada porpadr atildeo pelo iText eacute a fonte quevocecircdeseja nos seus documentos Logo eacute possiacutevel que vocecirc altere a fonte dos textos quevocecirc
adiciona ao PDF
A fonte eacute representada pela classe comitextpdf textFont Basta criar um objeto desta classe coma fonte desejada e associaacute-lo ao texto Observe o exemplo
F983151983150983156 983142 = 983150983141983159 F983151983150983156(F983151983150983156F983137983149983145983148983161C983119983125983122IE983122 20 F983151983150983156B983119983116D)
O coacutedigo acima cria uma fonte da famiacutelia Courier tamanho 20 itaacutelica O enum FontFamily e aclasse Font possuem tambeacutemoutras constantes para vocecirc explorar
A associaccedilatildeo entre a fonte e o texto eacute feita no construtor da classe Paragraph destaforma
983120983137983154983137983143983154983137983152983144 9831521 = 983150983141983159 983120983137983154983137983143983154983137983152983144(983117983141983157 983152983154983145983149983141983145983154983151 983137983154983153983157983145983158983151 983120DF 983142)
Pronto Vocecirc jaacutetem um tiacutetulo para o seuPDF Observecomo ficouo resultado
[httpwwwdicas-lcombrimagensitext_01jpg ]
Alinhamento Muitas vezes o alinhamento agrave esquerda natildeo eacute o suficiente O iText proporciona
outrasformas de alinhamento do texto Observe
9831521983155983141983156A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135CE983118983124E983122)
Omeacutetodo setAlignment() permite especificar um alinhamentop ara o bloco Neste caso p1 seraacutealinhado no centroda linha Observe
[httpwwwdicas-lcombrimagensitext_02jpg ]
Espaccedilamento Caso vocecirc deseje ter um controle maior sobre o espaccedilamento utilizado antes edepois de um bloco de texto vocecirc pode utilizar os meacutetodos setSpacingBefore () e setSpacingAfter
() Observe
9831521983155983141983156983123983152983137983139983145983150983143A983142983156983141983154(20)
Neste exemplo apoacutes p 1 ser adicionado aodocument o seraacute deixado um espaccedilo em branco extrade 20 pontos Observe
[httpwwwdicas-lcombrimagensitext_03jpg ]
IMAGENS
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 46
Paacutegina 4cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Damesma formaque textos imagens tambeacutempodem ser inseridasno documento PDF A maneira mais faacutecil de fazer isto eacute atraveacutes da classe comitextpdftextImage Ela eacute utilizada destaforma
I983149983137983143983141 983145983149983143 = I983149983137983143983141983143983141983156I983150983155983156983137983150983139983141(983155983151983142983156983138983148983157983141983146983152983143)
983145983149983143983155983141983156A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135CE983118983124E983122)
983140983151983139983137983140983140(983145983149983143)
Bastachamar o meacutetodo getInstance() da classe passando o caminho da imagemque devesercarregada e depois adicionar a imagem ao documento atraveacutes do meacutetodo add() Os meacutetodos
setAlignment() setSpacingBefore() e setSpacingAfter() jaacute vistos anteriormente tambeacutem podem seraplicados agraves imagens Observe como fica o resultado
[http wwwsoftbluecombrpublicblog7itext_04jpg]
TABELAS
O iText possui tambeacutem suporte agrave criaccedilatildeo de tabelas Observe uma tabela simples abaixo queconteacutem algumas palavras reservadasd o Java
[http wwwsoftbluecombrpublicblog7itext_05jpg]
O coacutedigo que gera a tabela acima eacute o seguinte
983120983140983142983120983124983137983138983148983141 983156983137983138983148983141 = 983150983141983159 983120983140983142983120983124983137983138983148983141(3)
983120983140983142983120C983141983148983148 983144983141983137983140983141983154 = 983150983141983159 983120983140983142983120C983141983148983148(983150983141983159 983120983137983154983137983143983154983137983152983144(A983148983143983157983149983137983155 983120983137983148983137983158983137983154983137983155
983122983141983155983141983154983158983137983140983137983155 983140983151 J983137983158983137))
983144983141983137983140983141983154983155983141983156C983151983148983155983152983137983150(3)
983156983137983138983148983141983137983140983140C983141983148983148(983144983141983137983140983141983154)
983156983137983138983148983141983137983140983140C983141983148983148(983137983138983155983156983154983137983139983156)
983156983137983138983148983141983137983140983140C983141983148983148(983141983160983156983141983150983140983155)
983156983137983138983148983141983137983140983140C983141983148983148(983145983149983152983151983154983156)
983156983137983138983148983141983137983140983140C983141983148983148(983159983144983145983148983141)
983156983137983138983148983141983137983140983140C983141983148983148(983145983142)
983156983137983138983148983141983137983140983140C983141983148983148(983155983159983145983156983139983144) 983140983151983139983137983140983140(983156983137983138983148983141)
Vamos tentar entender o que significa este coacutedigo Ao trabalhar com tabelas no iText vocecirc basicamente vai usar duas classes PdfPTable e PdfPCell A primeira representa a tabelaenquanto a uacuteltima representauma ceacutelulada tabela
A chamada new PdfPTable(3) cria uma tabela com 3 colunas de forma quea largura das colunaseacute a mesma Veremos na sequecircncia como especificar largurasdiferentes para cada coluna
Depois criamos um objeto da classe PdfPCell que iraacute representar o cabeccedilalho da nossa tabelaNo construtor do PdfPCell vocecirc pode passar um objeto Paragraph contendo o texto que seraacutecolocado na ceacutelula Uma caracteriacutestica importante do cabeccedilalho eacute que eledeve ocupar as 3colunas da tabela Por este motivo noacutes usamos o meacutetodo setColspan(3)
Toda vez que desejamos adicionar uma ceacutelula agrave tabela chamamos o meacutetodo addCell() Nestemeacutetodo podemos passar tanto objetos PdfPCell como os textos de cada ceacuteluladiretamente (nestecaso o proacuteprio iText gera o objeto PdfPCell internamente) Perceba que em nenhum momentovocecirc diz em qual linha ou coluna da tabela a ceacutelula seraacute inserida O iText vai inserindo asceacutelulas de cima para baixoe da esquerdapara a direita O gerenciamento da criaccedilatildeo de novas
linhaseacute feito de forma automaacutetica
Depois de preparar a tabela bastaadicionaacute -la ao documento atraveacutes da chamadadocadd(table)
Definindo a Largura das Colunas Comovimos anteriormente ao construirmosumatabela informando apenas o nuacutemero de colunas o iText deixa todas as colunas com o mesmotamanho o que nem sempre eacute o ideal
A melhor forma de especificar a largura das colunas da tabela eacute usar a forma relativa Elafunciona assim vocecirc indica qual o tamanho da coluna com relaccedilatildeo agrave largura total da tabelaObserve
983120983140983142983120983124983137983138983148983141 983156983137983138983148983141 = 983150983141983159 983120983140983142983120983124983137983138983148983141(983150983141983159 983142983148983151983137983156983131983133 983163 02983142 02983142 06983142 983165)
Ao passar um array de nuacutemeros no construtor da PdfPTable vocecirc estaacute indicando um tamanhorelativo para cada coluna Como o array tem 3 elementos a tabela teraacute trecircs colunas Agora vocecircdeve pensar da seguinte forma todas as colunas da tabela juntas representam 100 E n estecaso a primeiracoluna rep resenta 20 a segunda 20 e a terceira 60 Perceba queas duasprimeiras colunas teratildeo o mesmo tamanho e a terceira coluna seraacute trecircs vezes maior quecada
coluna anterior O resultado final fica assim
[http wwwsoftbluecombrpublicblog7itext_06jpg]
Mudando o tamanho e alinhamento da tabela O iTextpermite tambeacutemque vocecircespecifique qual o tamanho e o alinhamentoda tabela com relaccedilatildeo do documento Isto eacute feitoatraveacutes dos meacutetodos setWidthPercentage() e setHorizontalAlignment() Observe
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 56
Paacutegina 5cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
983156983137983138983148983141983155983141983156983127983145983140983156983144983120983141983154983139983141983150983156983137983143983141(600983142)
983156983137983138983148983141983155983141983156H983151983154983145983162983151983150983156983137983148A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135983122IGH983124)
No exemplo acima estamosdefinindo que a tabela deve ocupar apenas60 da largura dodocumento Tambeacutemestamos definindo que ela deve ser alinhada agrave direita Observeoresultado
[http wwwsoftbluecombrpublicblog7itext_07jpg]
Customizando as bordas e cores Eacute possiacutevel tambeacutem customizarmos as bordasd as ceacutelulase as cores das bordas e das ceacutelulas Observe o coacutedigo abaixo
983144983141983137983140983141983154983155983141983156B983137983139983147983143983154983151983157983150983140C983151983148983151983154(B983137983155983141C983151983148983151983154983129E983116983116983119983127)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154983127983145983140983156983144B983151983156983156983151983149(20983142)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154C983151983148983151983154B983151983156983156983151983149(B983137983155983141C983151983148983151983154B983116983125E)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154(983122983141983139983156983137983150983143983148983141B983119983124983124983119983117)
Ele gera como resultado
[http wwwsoftbluecombrpublicblog7itext_08jpg]
Omeacutetodo setBackgroundColor() define a cor de fundo da ceacutelula O meacutetodo setBorderWitdhBottom
() define a largura da linha da borda inferior O meacutetodo setBorderColorBottom() define a cor da borda inferior E o meacutetodo setBorder() define em que parte das ceacutelula a borda deve existirUsando RectangleBOTTOM estamos definindo que existe apenas uma borda inferior na ceacutelula
Eacute importante que vocecirc saiba queexistem variantes dos meacutetodos que definem a largura e cor dalinha da borda Utilizamos neste exemplo os meacutetodo setBorderWidthBottom() e
setBorderColorBottom() para a borda inferior mas eacute possiacutevel tambeacutem usar os meacutetodosequivalentes top left e right (para borda superior esquerda e direita respectivamente
CONCLUSAtildeO
Este artigo introduziu a API iText usada para gerar documentos PDF em Java O que estaacute
descrito aqui eacute apenas uma visatildeo inicial de algumas funcionalidades importantes do iText Masmuita coisaaleacutem do que estaacute descrito aqui pode ser feita Consulte a paacutegina oficial da API parater maiores informaccedilotildees
Carlos Tosin eacute instrutor oficial dos Cursos On-Line de Java (assista
uma viacutedeo-aula graacutetis) da Softblue formado em Ciecircncia da Computaccedilatildeo
pela PUC-PR poacutes-graduado em Desenvolvimento de Jogos para
Computador pela Universidade Positivo e Mestre em Informaacutetica na
aacuterea de Sistemas Distribuiacutedos tambeacutem pela PUC-PR Trabalha
profissionalmente com Java haacute 7 anos e possui 4 anos de experiecircncia
no desenvolvimento de sistemas para a IBM dos Estados Unidos
utilizados a niacutevel mundial Atua haacute mais de 2 anos com cursos e
treinamentos de profissionais em g randes empresas Possui as
certificaccedilotildees da Sun SCJP SCJD SCWCD SCBCD SCEA IBM SOA e
ITIL Foundation
Veja a relaccedilatildeo completa dos artigos de Carlos Tosin
StumbleUpon Digg Delicious Twitter Recomendar Contato PDF RSS Imprimir
REFEREcircNCIAS ADICIONAIS
Referecircncias adicionais sobre os assuntos abordados nestesite podem ser encontradas em nossaBibliografia
AVALIE ESTA DICA
Avaliaccedilatildeo 31 5 (267votos)
Tutorial Api Pdf
Descubra a Central de Agecircncias Oficial do Google AdWords Aqui
googlecombradwordswebexpert
OPINIAtildeO DOS LEITORES
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 66
Paacutegina 6cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Privacy Policy
O material veiculado neste site poderaacute ser livremente distribuiacutedopara fins natildeo comerciais segundo os termos da licenccedila da
Creative Commons
Seja o primeiro a comentar este artigo
Nome
Me notifique sobre novos comentaacuterios nessa paacutegina
Oculte meu email
Texto
Para publicar seu comentaacuterio digite o coacutedigo contido na imagem acima
Enviar
Powered by Scriptsmill Comments Script
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 36
Paacutegina 3cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
983145983142 (983151983155 = 983150983157983148983148) 983163
983142983141983139983144983137983149983141983150983156983151 983140983137 983155983156983154983141983137983149 983140983141 983155983137983277983140983137
983151983155983139983148983151983155983141()
983165
983165
983165
983165
Este eacute o esqueleto baacutesico de coacutedigo que vocecirc iraacute utilizar ao criar seus arquivos PDF mudandoapenaso conteuacutedo Na sequecircncia vocecirc veraacute mais detalhes sobrea classe Paragraph
TEXTOS
A forma mais faacutecil de adicionar textos ao PDF eacute utilizar a classe Paragraph Esta classe permite
que vocecirc adicione blocos de texto ao documento O texto eacute inserido na paacutegina como se vocecircestivesse utilizando um editor de textos O iText respeitaas margens que vocecirc especificou parao documento e tambeacutemgerencia automaticamente as quebras de linha Observe o coacutedigoabaixo que gera dois blocosde textocomo saiacuteda
983120983137983154983137983143983154983137983152983144 9831521 = 983150983141983159 983120983137983154983137983143983154983137983152983144(983117983141983157 983152983154983145983149983141983145983154983151 983137983154983153983157983145983158983151 983120DF)
983140983151983139983137983140983140(9831521)
983120983137983154983137983143983154983137983152983144 9831522 = 983150983141983159 983120983137983154983137983143983154983137983152983144(E983155983156983151983157 983157983156983145983148983145983162983137983150983140983151 983137 983139983148983137983155983155983141
983120983137983154983137983143983154983137983152983144 983152983137983154983137 983139983154983145983137983154 983157983149 983138983148983151983139983151 983140983141 983156983141983160983156983151 983150983137 983143983141983154983137983271983267983151 983140983151 983149983141983157 983152983154983145983149983141983145983154983151
983137983154983153983157983145983158983151 983120DF)
983140983151983139983137983140983140(9831522)
O construtor da classe Paragraph recebe o texto comoparacircmetro Depois basta chamar o meacutetodo
add() para adicionar o texto ao PDF
Alterando a fonte Nem sempre a fonte utilizada porpadr atildeo pelo iText eacute a fonte quevocecircdeseja nos seus documentos Logo eacute possiacutevel que vocecirc altere a fonte dos textos quevocecirc
adiciona ao PDF
A fonte eacute representada pela classe comitextpdf textFont Basta criar um objeto desta classe coma fonte desejada e associaacute-lo ao texto Observe o exemplo
F983151983150983156 983142 = 983150983141983159 F983151983150983156(F983151983150983156F983137983149983145983148983161C983119983125983122IE983122 20 F983151983150983156B983119983116D)
O coacutedigo acima cria uma fonte da famiacutelia Courier tamanho 20 itaacutelica O enum FontFamily e aclasse Font possuem tambeacutemoutras constantes para vocecirc explorar
A associaccedilatildeo entre a fonte e o texto eacute feita no construtor da classe Paragraph destaforma
983120983137983154983137983143983154983137983152983144 9831521 = 983150983141983159 983120983137983154983137983143983154983137983152983144(983117983141983157 983152983154983145983149983141983145983154983151 983137983154983153983157983145983158983151 983120DF 983142)
Pronto Vocecirc jaacutetem um tiacutetulo para o seuPDF Observecomo ficouo resultado
[httpwwwdicas-lcombrimagensitext_01jpg ]
Alinhamento Muitas vezes o alinhamento agrave esquerda natildeo eacute o suficiente O iText proporciona
outrasformas de alinhamento do texto Observe
9831521983155983141983156A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135CE983118983124E983122)
Omeacutetodo setAlignment() permite especificar um alinhamentop ara o bloco Neste caso p1 seraacutealinhado no centroda linha Observe
[httpwwwdicas-lcombrimagensitext_02jpg ]
Espaccedilamento Caso vocecirc deseje ter um controle maior sobre o espaccedilamento utilizado antes edepois de um bloco de texto vocecirc pode utilizar os meacutetodos setSpacingBefore () e setSpacingAfter
() Observe
9831521983155983141983156983123983152983137983139983145983150983143A983142983156983141983154(20)
Neste exemplo apoacutes p 1 ser adicionado aodocument o seraacute deixado um espaccedilo em branco extrade 20 pontos Observe
[httpwwwdicas-lcombrimagensitext_03jpg ]
IMAGENS
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 46
Paacutegina 4cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Damesma formaque textos imagens tambeacutempodem ser inseridasno documento PDF A maneira mais faacutecil de fazer isto eacute atraveacutes da classe comitextpdftextImage Ela eacute utilizada destaforma
I983149983137983143983141 983145983149983143 = I983149983137983143983141983143983141983156I983150983155983156983137983150983139983141(983155983151983142983156983138983148983157983141983146983152983143)
983145983149983143983155983141983156A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135CE983118983124E983122)
983140983151983139983137983140983140(983145983149983143)
Bastachamar o meacutetodo getInstance() da classe passando o caminho da imagemque devesercarregada e depois adicionar a imagem ao documento atraveacutes do meacutetodo add() Os meacutetodos
setAlignment() setSpacingBefore() e setSpacingAfter() jaacute vistos anteriormente tambeacutem podem seraplicados agraves imagens Observe como fica o resultado
[http wwwsoftbluecombrpublicblog7itext_04jpg]
TABELAS
O iText possui tambeacutem suporte agrave criaccedilatildeo de tabelas Observe uma tabela simples abaixo queconteacutem algumas palavras reservadasd o Java
[http wwwsoftbluecombrpublicblog7itext_05jpg]
O coacutedigo que gera a tabela acima eacute o seguinte
983120983140983142983120983124983137983138983148983141 983156983137983138983148983141 = 983150983141983159 983120983140983142983120983124983137983138983148983141(3)
983120983140983142983120C983141983148983148 983144983141983137983140983141983154 = 983150983141983159 983120983140983142983120C983141983148983148(983150983141983159 983120983137983154983137983143983154983137983152983144(A983148983143983157983149983137983155 983120983137983148983137983158983137983154983137983155
983122983141983155983141983154983158983137983140983137983155 983140983151 J983137983158983137))
983144983141983137983140983141983154983155983141983156C983151983148983155983152983137983150(3)
983156983137983138983148983141983137983140983140C983141983148983148(983144983141983137983140983141983154)
983156983137983138983148983141983137983140983140C983141983148983148(983137983138983155983156983154983137983139983156)
983156983137983138983148983141983137983140983140C983141983148983148(983141983160983156983141983150983140983155)
983156983137983138983148983141983137983140983140C983141983148983148(983145983149983152983151983154983156)
983156983137983138983148983141983137983140983140C983141983148983148(983159983144983145983148983141)
983156983137983138983148983141983137983140983140C983141983148983148(983145983142)
983156983137983138983148983141983137983140983140C983141983148983148(983155983159983145983156983139983144) 983140983151983139983137983140983140(983156983137983138983148983141)
Vamos tentar entender o que significa este coacutedigo Ao trabalhar com tabelas no iText vocecirc basicamente vai usar duas classes PdfPTable e PdfPCell A primeira representa a tabelaenquanto a uacuteltima representauma ceacutelulada tabela
A chamada new PdfPTable(3) cria uma tabela com 3 colunas de forma quea largura das colunaseacute a mesma Veremos na sequecircncia como especificar largurasdiferentes para cada coluna
Depois criamos um objeto da classe PdfPCell que iraacute representar o cabeccedilalho da nossa tabelaNo construtor do PdfPCell vocecirc pode passar um objeto Paragraph contendo o texto que seraacutecolocado na ceacutelula Uma caracteriacutestica importante do cabeccedilalho eacute que eledeve ocupar as 3colunas da tabela Por este motivo noacutes usamos o meacutetodo setColspan(3)
Toda vez que desejamos adicionar uma ceacutelula agrave tabela chamamos o meacutetodo addCell() Nestemeacutetodo podemos passar tanto objetos PdfPCell como os textos de cada ceacuteluladiretamente (nestecaso o proacuteprio iText gera o objeto PdfPCell internamente) Perceba que em nenhum momentovocecirc diz em qual linha ou coluna da tabela a ceacutelula seraacute inserida O iText vai inserindo asceacutelulas de cima para baixoe da esquerdapara a direita O gerenciamento da criaccedilatildeo de novas
linhaseacute feito de forma automaacutetica
Depois de preparar a tabela bastaadicionaacute -la ao documento atraveacutes da chamadadocadd(table)
Definindo a Largura das Colunas Comovimos anteriormente ao construirmosumatabela informando apenas o nuacutemero de colunas o iText deixa todas as colunas com o mesmotamanho o que nem sempre eacute o ideal
A melhor forma de especificar a largura das colunas da tabela eacute usar a forma relativa Elafunciona assim vocecirc indica qual o tamanho da coluna com relaccedilatildeo agrave largura total da tabelaObserve
983120983140983142983120983124983137983138983148983141 983156983137983138983148983141 = 983150983141983159 983120983140983142983120983124983137983138983148983141(983150983141983159 983142983148983151983137983156983131983133 983163 02983142 02983142 06983142 983165)
Ao passar um array de nuacutemeros no construtor da PdfPTable vocecirc estaacute indicando um tamanhorelativo para cada coluna Como o array tem 3 elementos a tabela teraacute trecircs colunas Agora vocecircdeve pensar da seguinte forma todas as colunas da tabela juntas representam 100 E n estecaso a primeiracoluna rep resenta 20 a segunda 20 e a terceira 60 Perceba queas duasprimeiras colunas teratildeo o mesmo tamanho e a terceira coluna seraacute trecircs vezes maior quecada
coluna anterior O resultado final fica assim
[http wwwsoftbluecombrpublicblog7itext_06jpg]
Mudando o tamanho e alinhamento da tabela O iTextpermite tambeacutemque vocecircespecifique qual o tamanho e o alinhamentoda tabela com relaccedilatildeo do documento Isto eacute feitoatraveacutes dos meacutetodos setWidthPercentage() e setHorizontalAlignment() Observe
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 56
Paacutegina 5cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
983156983137983138983148983141983155983141983156983127983145983140983156983144983120983141983154983139983141983150983156983137983143983141(600983142)
983156983137983138983148983141983155983141983156H983151983154983145983162983151983150983156983137983148A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135983122IGH983124)
No exemplo acima estamosdefinindo que a tabela deve ocupar apenas60 da largura dodocumento Tambeacutemestamos definindo que ela deve ser alinhada agrave direita Observeoresultado
[http wwwsoftbluecombrpublicblog7itext_07jpg]
Customizando as bordas e cores Eacute possiacutevel tambeacutem customizarmos as bordasd as ceacutelulase as cores das bordas e das ceacutelulas Observe o coacutedigo abaixo
983144983141983137983140983141983154983155983141983156B983137983139983147983143983154983151983157983150983140C983151983148983151983154(B983137983155983141C983151983148983151983154983129E983116983116983119983127)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154983127983145983140983156983144B983151983156983156983151983149(20983142)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154C983151983148983151983154B983151983156983156983151983149(B983137983155983141C983151983148983151983154B983116983125E)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154(983122983141983139983156983137983150983143983148983141B983119983124983124983119983117)
Ele gera como resultado
[http wwwsoftbluecombrpublicblog7itext_08jpg]
Omeacutetodo setBackgroundColor() define a cor de fundo da ceacutelula O meacutetodo setBorderWitdhBottom
() define a largura da linha da borda inferior O meacutetodo setBorderColorBottom() define a cor da borda inferior E o meacutetodo setBorder() define em que parte das ceacutelula a borda deve existirUsando RectangleBOTTOM estamos definindo que existe apenas uma borda inferior na ceacutelula
Eacute importante que vocecirc saiba queexistem variantes dos meacutetodos que definem a largura e cor dalinha da borda Utilizamos neste exemplo os meacutetodo setBorderWidthBottom() e
setBorderColorBottom() para a borda inferior mas eacute possiacutevel tambeacutem usar os meacutetodosequivalentes top left e right (para borda superior esquerda e direita respectivamente
CONCLUSAtildeO
Este artigo introduziu a API iText usada para gerar documentos PDF em Java O que estaacute
descrito aqui eacute apenas uma visatildeo inicial de algumas funcionalidades importantes do iText Masmuita coisaaleacutem do que estaacute descrito aqui pode ser feita Consulte a paacutegina oficial da API parater maiores informaccedilotildees
Carlos Tosin eacute instrutor oficial dos Cursos On-Line de Java (assista
uma viacutedeo-aula graacutetis) da Softblue formado em Ciecircncia da Computaccedilatildeo
pela PUC-PR poacutes-graduado em Desenvolvimento de Jogos para
Computador pela Universidade Positivo e Mestre em Informaacutetica na
aacuterea de Sistemas Distribuiacutedos tambeacutem pela PUC-PR Trabalha
profissionalmente com Java haacute 7 anos e possui 4 anos de experiecircncia
no desenvolvimento de sistemas para a IBM dos Estados Unidos
utilizados a niacutevel mundial Atua haacute mais de 2 anos com cursos e
treinamentos de profissionais em g randes empresas Possui as
certificaccedilotildees da Sun SCJP SCJD SCWCD SCBCD SCEA IBM SOA e
ITIL Foundation
Veja a relaccedilatildeo completa dos artigos de Carlos Tosin
StumbleUpon Digg Delicious Twitter Recomendar Contato PDF RSS Imprimir
REFEREcircNCIAS ADICIONAIS
Referecircncias adicionais sobre os assuntos abordados nestesite podem ser encontradas em nossaBibliografia
AVALIE ESTA DICA
Avaliaccedilatildeo 31 5 (267votos)
Tutorial Api Pdf
Descubra a Central de Agecircncias Oficial do Google AdWords Aqui
googlecombradwordswebexpert
OPINIAtildeO DOS LEITORES
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 66
Paacutegina 6cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Privacy Policy
O material veiculado neste site poderaacute ser livremente distribuiacutedopara fins natildeo comerciais segundo os termos da licenccedila da
Creative Commons
Seja o primeiro a comentar este artigo
Nome
Me notifique sobre novos comentaacuterios nessa paacutegina
Oculte meu email
Texto
Para publicar seu comentaacuterio digite o coacutedigo contido na imagem acima
Enviar
Powered by Scriptsmill Comments Script
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 46
Paacutegina 4cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Damesma formaque textos imagens tambeacutempodem ser inseridasno documento PDF A maneira mais faacutecil de fazer isto eacute atraveacutes da classe comitextpdftextImage Ela eacute utilizada destaforma
I983149983137983143983141 983145983149983143 = I983149983137983143983141983143983141983156I983150983155983156983137983150983139983141(983155983151983142983156983138983148983157983141983146983152983143)
983145983149983143983155983141983156A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135CE983118983124E983122)
983140983151983139983137983140983140(983145983149983143)
Bastachamar o meacutetodo getInstance() da classe passando o caminho da imagemque devesercarregada e depois adicionar a imagem ao documento atraveacutes do meacutetodo add() Os meacutetodos
setAlignment() setSpacingBefore() e setSpacingAfter() jaacute vistos anteriormente tambeacutem podem seraplicados agraves imagens Observe como fica o resultado
[http wwwsoftbluecombrpublicblog7itext_04jpg]
TABELAS
O iText possui tambeacutem suporte agrave criaccedilatildeo de tabelas Observe uma tabela simples abaixo queconteacutem algumas palavras reservadasd o Java
[http wwwsoftbluecombrpublicblog7itext_05jpg]
O coacutedigo que gera a tabela acima eacute o seguinte
983120983140983142983120983124983137983138983148983141 983156983137983138983148983141 = 983150983141983159 983120983140983142983120983124983137983138983148983141(3)
983120983140983142983120C983141983148983148 983144983141983137983140983141983154 = 983150983141983159 983120983140983142983120C983141983148983148(983150983141983159 983120983137983154983137983143983154983137983152983144(A983148983143983157983149983137983155 983120983137983148983137983158983137983154983137983155
983122983141983155983141983154983158983137983140983137983155 983140983151 J983137983158983137))
983144983141983137983140983141983154983155983141983156C983151983148983155983152983137983150(3)
983156983137983138983148983141983137983140983140C983141983148983148(983144983141983137983140983141983154)
983156983137983138983148983141983137983140983140C983141983148983148(983137983138983155983156983154983137983139983156)
983156983137983138983148983141983137983140983140C983141983148983148(983141983160983156983141983150983140983155)
983156983137983138983148983141983137983140983140C983141983148983148(983145983149983152983151983154983156)
983156983137983138983148983141983137983140983140C983141983148983148(983159983144983145983148983141)
983156983137983138983148983141983137983140983140C983141983148983148(983145983142)
983156983137983138983148983141983137983140983140C983141983148983148(983155983159983145983156983139983144) 983140983151983139983137983140983140(983156983137983138983148983141)
Vamos tentar entender o que significa este coacutedigo Ao trabalhar com tabelas no iText vocecirc basicamente vai usar duas classes PdfPTable e PdfPCell A primeira representa a tabelaenquanto a uacuteltima representauma ceacutelulada tabela
A chamada new PdfPTable(3) cria uma tabela com 3 colunas de forma quea largura das colunaseacute a mesma Veremos na sequecircncia como especificar largurasdiferentes para cada coluna
Depois criamos um objeto da classe PdfPCell que iraacute representar o cabeccedilalho da nossa tabelaNo construtor do PdfPCell vocecirc pode passar um objeto Paragraph contendo o texto que seraacutecolocado na ceacutelula Uma caracteriacutestica importante do cabeccedilalho eacute que eledeve ocupar as 3colunas da tabela Por este motivo noacutes usamos o meacutetodo setColspan(3)
Toda vez que desejamos adicionar uma ceacutelula agrave tabela chamamos o meacutetodo addCell() Nestemeacutetodo podemos passar tanto objetos PdfPCell como os textos de cada ceacuteluladiretamente (nestecaso o proacuteprio iText gera o objeto PdfPCell internamente) Perceba que em nenhum momentovocecirc diz em qual linha ou coluna da tabela a ceacutelula seraacute inserida O iText vai inserindo asceacutelulas de cima para baixoe da esquerdapara a direita O gerenciamento da criaccedilatildeo de novas
linhaseacute feito de forma automaacutetica
Depois de preparar a tabela bastaadicionaacute -la ao documento atraveacutes da chamadadocadd(table)
Definindo a Largura das Colunas Comovimos anteriormente ao construirmosumatabela informando apenas o nuacutemero de colunas o iText deixa todas as colunas com o mesmotamanho o que nem sempre eacute o ideal
A melhor forma de especificar a largura das colunas da tabela eacute usar a forma relativa Elafunciona assim vocecirc indica qual o tamanho da coluna com relaccedilatildeo agrave largura total da tabelaObserve
983120983140983142983120983124983137983138983148983141 983156983137983138983148983141 = 983150983141983159 983120983140983142983120983124983137983138983148983141(983150983141983159 983142983148983151983137983156983131983133 983163 02983142 02983142 06983142 983165)
Ao passar um array de nuacutemeros no construtor da PdfPTable vocecirc estaacute indicando um tamanhorelativo para cada coluna Como o array tem 3 elementos a tabela teraacute trecircs colunas Agora vocecircdeve pensar da seguinte forma todas as colunas da tabela juntas representam 100 E n estecaso a primeiracoluna rep resenta 20 a segunda 20 e a terceira 60 Perceba queas duasprimeiras colunas teratildeo o mesmo tamanho e a terceira coluna seraacute trecircs vezes maior quecada
coluna anterior O resultado final fica assim
[http wwwsoftbluecombrpublicblog7itext_06jpg]
Mudando o tamanho e alinhamento da tabela O iTextpermite tambeacutemque vocecircespecifique qual o tamanho e o alinhamentoda tabela com relaccedilatildeo do documento Isto eacute feitoatraveacutes dos meacutetodos setWidthPercentage() e setHorizontalAlignment() Observe
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 56
Paacutegina 5cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
983156983137983138983148983141983155983141983156983127983145983140983156983144983120983141983154983139983141983150983156983137983143983141(600983142)
983156983137983138983148983141983155983141983156H983151983154983145983162983151983150983156983137983148A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135983122IGH983124)
No exemplo acima estamosdefinindo que a tabela deve ocupar apenas60 da largura dodocumento Tambeacutemestamos definindo que ela deve ser alinhada agrave direita Observeoresultado
[http wwwsoftbluecombrpublicblog7itext_07jpg]
Customizando as bordas e cores Eacute possiacutevel tambeacutem customizarmos as bordasd as ceacutelulase as cores das bordas e das ceacutelulas Observe o coacutedigo abaixo
983144983141983137983140983141983154983155983141983156B983137983139983147983143983154983151983157983150983140C983151983148983151983154(B983137983155983141C983151983148983151983154983129E983116983116983119983127)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154983127983145983140983156983144B983151983156983156983151983149(20983142)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154C983151983148983151983154B983151983156983156983151983149(B983137983155983141C983151983148983151983154B983116983125E)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154(983122983141983139983156983137983150983143983148983141B983119983124983124983119983117)
Ele gera como resultado
[http wwwsoftbluecombrpublicblog7itext_08jpg]
Omeacutetodo setBackgroundColor() define a cor de fundo da ceacutelula O meacutetodo setBorderWitdhBottom
() define a largura da linha da borda inferior O meacutetodo setBorderColorBottom() define a cor da borda inferior E o meacutetodo setBorder() define em que parte das ceacutelula a borda deve existirUsando RectangleBOTTOM estamos definindo que existe apenas uma borda inferior na ceacutelula
Eacute importante que vocecirc saiba queexistem variantes dos meacutetodos que definem a largura e cor dalinha da borda Utilizamos neste exemplo os meacutetodo setBorderWidthBottom() e
setBorderColorBottom() para a borda inferior mas eacute possiacutevel tambeacutem usar os meacutetodosequivalentes top left e right (para borda superior esquerda e direita respectivamente
CONCLUSAtildeO
Este artigo introduziu a API iText usada para gerar documentos PDF em Java O que estaacute
descrito aqui eacute apenas uma visatildeo inicial de algumas funcionalidades importantes do iText Masmuita coisaaleacutem do que estaacute descrito aqui pode ser feita Consulte a paacutegina oficial da API parater maiores informaccedilotildees
Carlos Tosin eacute instrutor oficial dos Cursos On-Line de Java (assista
uma viacutedeo-aula graacutetis) da Softblue formado em Ciecircncia da Computaccedilatildeo
pela PUC-PR poacutes-graduado em Desenvolvimento de Jogos para
Computador pela Universidade Positivo e Mestre em Informaacutetica na
aacuterea de Sistemas Distribuiacutedos tambeacutem pela PUC-PR Trabalha
profissionalmente com Java haacute 7 anos e possui 4 anos de experiecircncia
no desenvolvimento de sistemas para a IBM dos Estados Unidos
utilizados a niacutevel mundial Atua haacute mais de 2 anos com cursos e
treinamentos de profissionais em g randes empresas Possui as
certificaccedilotildees da Sun SCJP SCJD SCWCD SCBCD SCEA IBM SOA e
ITIL Foundation
Veja a relaccedilatildeo completa dos artigos de Carlos Tosin
StumbleUpon Digg Delicious Twitter Recomendar Contato PDF RSS Imprimir
REFEREcircNCIAS ADICIONAIS
Referecircncias adicionais sobre os assuntos abordados nestesite podem ser encontradas em nossaBibliografia
AVALIE ESTA DICA
Avaliaccedilatildeo 31 5 (267votos)
Tutorial Api Pdf
Descubra a Central de Agecircncias Oficial do Google AdWords Aqui
googlecombradwordswebexpert
OPINIAtildeO DOS LEITORES
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 66
Paacutegina 6cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Privacy Policy
O material veiculado neste site poderaacute ser livremente distribuiacutedopara fins natildeo comerciais segundo os termos da licenccedila da
Creative Commons
Seja o primeiro a comentar este artigo
Nome
Me notifique sobre novos comentaacuterios nessa paacutegina
Oculte meu email
Texto
Para publicar seu comentaacuterio digite o coacutedigo contido na imagem acima
Enviar
Powered by Scriptsmill Comments Script
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 56
Paacutegina 5cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
983156983137983138983148983141983155983141983156983127983145983140983156983144983120983141983154983139983141983150983156983137983143983141(600983142)
983156983137983138983148983141983155983141983156H983151983154983145983162983151983150983156983137983148A983148983145983143983150983149983141983150983156(E983148983141983149983141983150983156A983116IG983118983135983122IGH983124)
No exemplo acima estamosdefinindo que a tabela deve ocupar apenas60 da largura dodocumento Tambeacutemestamos definindo que ela deve ser alinhada agrave direita Observeoresultado
[http wwwsoftbluecombrpublicblog7itext_07jpg]
Customizando as bordas e cores Eacute possiacutevel tambeacutem customizarmos as bordasd as ceacutelulase as cores das bordas e das ceacutelulas Observe o coacutedigo abaixo
983144983141983137983140983141983154983155983141983156B983137983139983147983143983154983151983157983150983140C983151983148983151983154(B983137983155983141C983151983148983151983154983129E983116983116983119983127)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154983127983145983140983156983144B983151983156983156983151983149(20983142)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154C983151983148983151983154B983151983156983156983151983149(B983137983155983141C983151983148983151983154B983116983125E)
983144983141983137983140983141983154983155983141983156B983151983154983140983141983154(983122983141983139983156983137983150983143983148983141B983119983124983124983119983117)
Ele gera como resultado
[http wwwsoftbluecombrpublicblog7itext_08jpg]
Omeacutetodo setBackgroundColor() define a cor de fundo da ceacutelula O meacutetodo setBorderWitdhBottom
() define a largura da linha da borda inferior O meacutetodo setBorderColorBottom() define a cor da borda inferior E o meacutetodo setBorder() define em que parte das ceacutelula a borda deve existirUsando RectangleBOTTOM estamos definindo que existe apenas uma borda inferior na ceacutelula
Eacute importante que vocecirc saiba queexistem variantes dos meacutetodos que definem a largura e cor dalinha da borda Utilizamos neste exemplo os meacutetodo setBorderWidthBottom() e
setBorderColorBottom() para a borda inferior mas eacute possiacutevel tambeacutem usar os meacutetodosequivalentes top left e right (para borda superior esquerda e direita respectivamente
CONCLUSAtildeO
Este artigo introduziu a API iText usada para gerar documentos PDF em Java O que estaacute
descrito aqui eacute apenas uma visatildeo inicial de algumas funcionalidades importantes do iText Masmuita coisaaleacutem do que estaacute descrito aqui pode ser feita Consulte a paacutegina oficial da API parater maiores informaccedilotildees
Carlos Tosin eacute instrutor oficial dos Cursos On-Line de Java (assista
uma viacutedeo-aula graacutetis) da Softblue formado em Ciecircncia da Computaccedilatildeo
pela PUC-PR poacutes-graduado em Desenvolvimento de Jogos para
Computador pela Universidade Positivo e Mestre em Informaacutetica na
aacuterea de Sistemas Distribuiacutedos tambeacutem pela PUC-PR Trabalha
profissionalmente com Java haacute 7 anos e possui 4 anos de experiecircncia
no desenvolvimento de sistemas para a IBM dos Estados Unidos
utilizados a niacutevel mundial Atua haacute mais de 2 anos com cursos e
treinamentos de profissionais em g randes empresas Possui as
certificaccedilotildees da Sun SCJP SCJD SCWCD SCBCD SCEA IBM SOA e
ITIL Foundation
Veja a relaccedilatildeo completa dos artigos de Carlos Tosin
StumbleUpon Digg Delicious Twitter Recomendar Contato PDF RSS Imprimir
REFEREcircNCIAS ADICIONAIS
Referecircncias adicionais sobre os assuntos abordados nestesite podem ser encontradas em nossaBibliografia
AVALIE ESTA DICA
Avaliaccedilatildeo 31 5 (267votos)
Tutorial Api Pdf
Descubra a Central de Agecircncias Oficial do Google AdWords Aqui
googlecombradwordswebexpert
OPINIAtildeO DOS LEITORES
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 66
Paacutegina 6cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Privacy Policy
O material veiculado neste site poderaacute ser livremente distribuiacutedopara fins natildeo comerciais segundo os termos da licenccedila da
Creative Commons
Seja o primeiro a comentar este artigo
Nome
Me notifique sobre novos comentaacuterios nessa paacutegina
Oculte meu email
Texto
Para publicar seu comentaacuterio digite o coacutedigo contido na imagem acima
Enviar
Powered by Scriptsmill Comments Script
8162019 [Dicas-L] Gerando PDF Utilizando Java
httpslidepdfcomreaderfulldicas-l-gerando-pdf-utilizando-java 66
Paacutegina 6cas-L] Gerando PDF utilizando Java
02042011 183447wwwdicas-lcombrarquivogerando_pdf_utilizando_javaphp
Privacy Policy
O material veiculado neste site poderaacute ser livremente distribuiacutedopara fins natildeo comerciais segundo os termos da licenccedila da
Creative Commons
Seja o primeiro a comentar este artigo
Nome
Me notifique sobre novos comentaacuterios nessa paacutegina
Oculte meu email
Texto
Para publicar seu comentaacuterio digite o coacutedigo contido na imagem acima
Enviar
Powered by Scriptsmill Comments Script