PDF Explicado John Whitington Novatec Authorized Portuguese translation of the English edition of titled PDF Explained, First Edition ISBN 9781449310028 © 2012 John Whitington. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and sell the same. Tradução em português autorizada da edição em inglês da obra PDF Explained, First Edition ISBN 9781449310028 © 2012 John Whitington. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., detentora de todos os direitos para publicação e venda desta obra. © Novatec Editora Ltda. 2012. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Rafael Zanolli Revisão gramatical: Alessandro Thomé Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-231-7 Histórico de impressões: Fevereiro/2012 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail: [email protected] Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec Dados Internacionais de Catalogação na Publicação (Câmara Brasileira do Livro, SP, Brasil) Whitington, John PDF explicado / John Whitington ; [tradução Rafael Zanolli]. -- São Paulo : Novatec Editora ; Sebastopol, CA : O'Reilly, 2012. Título original: PDF explained. ISBN 978-85-7522-231-7 1. Adobe Acrobat 2. Editoração eletrônica 3. Impressão - Processamento de dados 4. PDF (Formato de arquivo) I. Título. 12-01168 CDD-005.72 Índices para catálogo sistemático: 1. PDF : Formato de arquivo : Computadores : Processamento de dados 005.72 GRPM20120202 (CIP) Sumário Prefácio............................................................................................................................. 9 Capítulo 1 ■ Introdução....................................................................................................15 Um pouco de história.............................................................................................15 Linguagens de descrição de página....................................................................15 Desenvolvimento do PDF................................................................................. 16 Algumas vantagens do formato PDF..................................................................17 Padronização ISO.............................................................................................18 Tipos especializados de PDF.............................................................................19 Resumo das versões disponíveis........................................................................21 O que temos em um arquivo PDF?......................................................................... 22 Texto e fontes.................................................................................................. 22 Imagens vetoriais............................................................................................. 22 Imagens rasterizadas........................................................................................ 23 Espaços de cores.............................................................................................. 23 Metadados...................................................................................................... 24 Navegação....................................................................................................... 24 Conteúdo opcional.......................................................................................... 24 Multimídia...................................................................................................... 25 Formulários interativos.................................................................................... 25 Estrutura lógica e refluxo................................................................................. 25 Segurança....................................................................................................... 26 Compactação.................................................................................................. 26 Quem utiliza o formato PDF?................................................................................ 27 Indústria da impressão..................................................................................... 27 Livros digitais e publicação.............................................................................. 27 Formulários PDF............................................................................................. 27 Arquivamento de documentos......................................................................... 28 Como formato de arquivos.............................................................................. 28 Opções úteis de software gratuito.......................................................................... 28 Capítulo 2 ■ Criação de um PDF simples.............................................................................31 Sintaxe PDF básica................................................................................................ 32 Conteúdo do documento................................................................................. 32 Conteúdo da página........................................................................................ 33 5 6 PDF Explicado Estrutura de arquivos...................................................................................... 33 Estrutura do documento....................................................................................... 34 Criação dos elementos........................................................................................... 35 Cabeçalho do arquivo...................................................................................... 35 Objetos principais........................................................................................... 35 Conteúdo gráfico............................................................................................. 36 Catálogo, tabela de referência cruzada e trailer...................................................37 Reunindo os elementos.......................................................................................... 39 Observações.......................................................................................................... 43 Capítulo 3 ■ Estrutura de arquivos.....................................................................................45 Layout do arquivo................................................................................................. 45 Cabeçalho (header)......................................................................................... 48 Corpo (body).................................................................................................. 48 Tabela de referência cruzada............................................................................. 49 Trailer............................................................................................................. 49 Convenções léxicas................................................................................................ 50 Objetos.................................................................................................................. 51 Números inteiros e reais...................................................................................52 Strings.............................................................................................................52 Nomes............................................................................................................ 53 Valores booleanos............................................................................................ 54 Arrays............................................................................................................. 54 Dicionários..................................................................................................... 54 Referências indiretas........................................................................................ 54 Fluxos (streams) e filtros........................................................................................ 55 Atualização incremental........................................................................................ 57 Fluxos (streams) de objetos e referência cruzada..................................................... 57 PDF linearizado.................................................................................................... 58 Como um arquivo PDF é lido................................................................................ 59 Como um arquivo PDF é gravado.......................................................................... 60 Capítulo 4 ■ Estrutura do documento................................................................................61 Trailer dictionary................................................................................................... 62 Dicionário de informações do documento.............................................................. 62 Catálogo do documento........................................................................................ 63 Páginas e árvores de páginas.................................................................................. 64 Strings de texto..................................................................................................... 67 Datas.................................................................................................................... 67 Reunindo os elementos.......................................................................................... 68 Capítulo 5 ■ Elementos gráficos........................................................................................73 Análise de fluxos (streams) de conteúdo................................................................. 73 Operadores e estado gráfico................................................................................... 76 Criação e pintura de paths..................................................................................... 77 Sumário Curvas de Bézier.............................................................................................. 79 Desenho de círculos com curvas de Bézier........................................................ 80 Formas preenchidas e regras de contorno..........................................................81 Cores e espaços de cores........................................................................................ 84 Transformações..................................................................................................... 86 Cortes (clipping)................................................................................................... 88 Transparência........................................................................................................ 90 Sombreados e padrões........................................................................................... 90 XObjects do tipo formulário.................................................................................. 94 XObjects de imagem.............................................................................................. 96 Capítulo 6 ■ Textos e fontes..............................................................................................99 Textos e fontes em PDF.......................................................................................... 99 Estado do texto....................................................................................................100 Impressão de texto................................................................................................ 101 Seções de texto............................................................................................... 101 Espaço e posicionamento do texto................................................................... 101 Apresentação do texto.....................................................................................102 Espaçamento de caracteres e palavras..............................................................103 Transformações de texto.................................................................................104 Elevação do texto...........................................................................................106 Kerning e ajuste de glifos................................................................................107 Modos de renderização de texto......................................................................108 Definição e incorporação de fontes........................................................................109 Tipos de fontes em PDF..................................................................................109 Fontes Type 1.................................................................................................. 110 Codificações de fontes.....................................................................................111 Incorporação de uma fonte................................................................................... 112 Extração de texto de um documento..................................................................... 114 Recursos.............................................................................................................. 115 Capítulo 7 ■ Metadados e navegação do documento........................................................117 Bookmarks e destinos........................................................................................... 118 Destinos......................................................................................................... 118 Estrutura de tópicos de um documento (Bookmarks)...................................... 119 Criação de um exemplo..................................................................................120 Metadados XML.................................................................................................. 121 Anotações e hiperlinks.........................................................................................123 Anexos de arquivos..............................................................................................126 Capítulo 8 ■ Documentos criptografados.........................................................................129 Introdução...........................................................................................................129 Dicionário de criptografia.....................................................................................134 Leitura de documentos criptografados..................................................................134 7 8 PDF Explicado Gravação de documentos criptografados............................................................... 135 Edição de documentos criptografados...................................................................136 Capítulo 9 ■ Como trabalhar com o pdftk.........................................................................137 Sintaxe de linha de comando................................................................................ 137 Mesclagem de documentos...................................................................................138 O que acontece quando arquivos são mesclados.............................................. 139 Divisão de documentos.........................................................................................140 O que acontece quando documentos são divididos...........................................141 Carimbos e marcas d’água.....................................................................................141 Como um carimbo é adicionado..................................................................... 142 Extração e definição de metadados....................................................................... 142 Anexos de arquivos..............................................................................................144 Criptografia e descriptografia...............................................................................144 Descriptografia de arquivos de entrada............................................................144 Criptografia da saída...................................................................................... 145 Compactação....................................................................................................... 145 Capítulo 10 ■ Software e documentação PDF...................................................................147 Visualizadores PDF............................................................................................... 147 Adobe Reader................................................................................................. 147 Preview..........................................................................................................148 Xpdf..............................................................................................................148 GSView..........................................................................................................148 Bibliotecas de software......................................................................................... 149 iText para Java e C#....................................................................................... 149 TCPDF para PHP........................................................................................... 149 Processamento PDF com Perl.......................................................................... 149 PDF no Mac OS X..........................................................................................150 Conversões de formato.........................................................................................150 PDF para PostScript e o inverso.......................................................................150 Rasterização de um PDF em uma imagem....................................................... 151 Impressão de arquivos para PDF..................................................................... 151 Editores PDF........................................................................................................ 151 Adobe Acrobat............................................................................................... 152 Edição com o Preview no Mac OS X................................................................ 152 Documentação PDF e elementos gráficos.............................................................. 152 ISO 32000 e o formato de arquivos PDF..........................................................153 PDF Hacks.....................................................................................................153 Tópicos relacionados.......................................................................................154 Fóruns e discussões........................................................................................154 Recursos do site da Adobe...............................................................................154