PDF Explicado John Whitington

Documentos relacionados
Desenvolvimento de Grandes Aplicações Web

Novatec Editora Ltda. [2014].

Jonathan Stark Brian Jepson

Google Analytics Justin Cutroni

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

Design Centrado no Usuário

Equipes de Software. Um guia para o desenvolvedor de software se relacionar melhor com outras pessoas. Brian W. Fitzpatrick Ben Collins-Sussman

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

Padrões de Projeto em PHP

Primeiros Passos com o Raspberry Pi

Aprendendo Programação. ios. Alasdair Allan. Novatec

Julia Elman e Mark Lavin. Novatec

Desenvolvendo Websites com PHP

Primeiros Passos com o Netduino

Pramod J. Sadalage Martin Fowler

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Crie Seu Próprio Site

Criando Relatórios com PHP

Pete Goodliffe. Novatec

Ademir C. Gabardo. Novatec

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

Brandon Rhodes John Goerzen

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

David Hows Peter Membrey Eelco Plugge

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Novatec Editora Ltda

Copyright 2008, 2013 da Novatec Editora Ltda.

Aprendendo Cocoa com Objective-C Paris Buttfield-Addison Jonathon Manning

Mineração de dados da web social Matthew A. Russell

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Paulo Strelczuk. Novatec

A Arte de Escrever Programas Legíveis

Luiz Carlos Querino Filho

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Introdução ao GitHub Peter Bell e Brent Beer

Criando Aplicações Gráficas com PHP

As Leis Fundamentais do Projeto de Software

2ª EDIÇÃO. André Milani. Novatec

Padrões JavaScript Stoyan Stefanov

Google Android para Tablets

Desenvolvimento de Grandes Aplicações Web

Ricardo Kléber M. Galvão. Novatec

Novatec Editora Ltda

jquery Cookbook Comunidade de Desenvolvedores jquery

Google Android para Tablets

João Eriberto Mota Filho

Desenvolvendo Websites com PHP

Service Desk Corporativo

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Ricardo R. Lecheta. Novatec

Josh Pauli Revisão técnica Scott White. Novatec

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Empresa. Dave Gray. Novatec. com Thomas Vander Wal

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

Wilson Moraes Góes. Novatec

Harrison Kinsley Will McGugan

Ryan Mitchell. Novatec

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Hélio Engholm Jr. Novatec

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Guia do Programador Joel Saade

Allen B. Downey. Novatec

Murillo Lo Visco. Novatec

Keith Wood. Apresentação de Dave Methvin. Novatec

Camila Porto. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

Guia Prático Richard E. Silverman

Wilson Moraes Góes. Novatec

Editor: Rubens Prates Revisão gramatical: Patrizia Zagni Capa: Victor Bittow Editoração eletrônica: Camila Kuwabata e Carolina Kuwabata

Primeiros Passos com o Arduino Massimo Banzi

Josh Lockhart. Novatec

Conrado Adolpho. Novatec

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

Karl Matthias Sean P. Kane

Benjamin Bengfort Jenny Kim

Google Android para Tablets

Guia do Programador Joel Saade

Allan Liska e Timothy Gallo. Novatec

Jody Culkin e Eric Hagan

Shyam Seshadri & Brad Green

A Arte de Escrever Programas Legíveis

2ª Edição Alexandre Keller

CSS Cookbook. Christopher Schmitt. Novatec. Prólogo por Dan Cederholm

Ricardo Lino Olonca. Novatec

Guia Definitivo de. . DJ Waldow Jason Falls. Tradução Aline Naomi Sassaki. Novatec

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Josh Lockhart. Novatec

Ricardo R. Lecheta. Novatec

Criando Relatórios com PHP Pablo Dall Oglio

Transcrição:

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: novatec@novatec.com.br 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 (CIP) (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

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 7 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

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