Pular para o conteúdo
getnextpdf.com

Uma breve história do PDF

Spec: ISO 32000-1

O PDF começou como um memorando sobre uma frustração: você podia imprimir um documento em qualquer lugar, mas não podia enviar um de forma confiável. Esta página é a história resumida de como esse problema se transformou em um dos formatos de documento mais usados no mundo — de um derivado do PostScript em 1993 a um padrão ISO cuja edição mais recente já não carrega o nome da Adobe.

História não é nostalgia aqui. O PDF que você cria hoje está cheio de decisões tomadas décadas atrás, e a maioria delas ainda é estrutural. O número de objeto zero é uma cabeça de lista livre com geração 65535 porque um design de 1993 disse que era assim. As páginas descrevem a si mesmas com operadores de desenho descendentes do PostScript porque o formato nasceu de uma linguagem de impressão. Saber de onde uma regra veio é frequentemente o caminho mais rápido para entender por que ela não pode simplesmente ser ignorada.

A outra razão é a perspectiva. “PDF 2.0” soa como uma reinvenção do zero. Não é. É a camada mais recente sobre um sedimento de trinta anos, e lê-lo como uma continuação em vez de um reinício é o que permite prever como ele se comporta.

  • O PDF descende do PostScript, a linguagem de descrição de página da Adobe. Ele manteve o modelo de desenho e descartou a linguagem de programação completa.
  • O memorando interno “Camelot” de John Warnock, de 1991, enquadrou o objetivo: um arquivo que qualquer pessoa pudesse abrir e que tivesse a mesma aparência em qualquer lugar.
  • O PDF 1.0 chegou em 1993 com o Acrobat. Ele era um produto pago e de nicho antes de ser um padrão.
  • As versões 1.1 a 1.7 acrescentaram as coisas que o tornaram indispensável — links, criptografia, compressão, formulários, transparência, marcação, assinaturas digitais — uma especificação de cada vez.
  • Em 2008, o PDF 1.7 se tornou a ISO 32000-1: o formato deixou de ser da Adobe e se tornou um padrão internacional aberto.
  • O PDF 2.0 é a ISO 32000-2, a primeira edição escrita e detida inteiramente dentro da ISO. Ele consolida, aperta e remove mais do que reinventa.

O NextPDF trata essa linhagem como uma restrição real, não um pano de fundo. Ele é um motor de PDF 2.0 por padrão, mas as formas mais antigas do formato são alcançáveis de propósito, porque os padrões construídos sobre o PDF ainda as exigem.

A ruptura decisiva na linha do tempo é 2008. Antes dela, “PDF” significava “qualquer que seja a especificação mais recente da Adobe”. Depois dela, o PDF é um padrão ISO (Spec: ISO 32000-1), que é precisamente o motivo pelo qual um motor independente como este pode existir e reivindicar conformidade contra um documento público em vez de contra o produto de um fornecedor. O baseline atual é o PDF 2.0 (Spec: ISO 32000-2, Introduction), a primeira edição escrita inteiramente dentro da ISO.

Essa história explica uma escolha de design discreta, porém importante, no motor: a versão do PDF é uma decisão deliberada, nunca um acidente. O NextPDF tem como padrão escrever a estrutura 2.0, mas ainda pode serializar as formas de arquivo mais antigas, 1.7 e 1.4 — não por sentimentalismo, mas porque perfis de conformidade como o PDF/A foram definidos contra essas estruturas anteriores e continuam a exigi-las. O passado não está obsoleto. Ele é um alvo de saída suportado.

  1. PostScript (1984)Adobe ships a page-description language for laser printers — the drawing model the PDF inherits.
  2. Camelot memo (1991)John Warnock proposes a portable file anyone can open and that aims to render the same way everywhere.
  3. PDF 1.0 with Acrobat (1993)The format ships as a paid product. Adoption is slow; the readers and tools cost money.
  4. PDF 1.1 to 1.7 (1996 to 2006)Links, encryption, compression, forms, transparency, tagging, and signatures arrive one version at a time.
  5. ISO 32000-1 (2008)PDF 1.7 is adopted by ISO. The format becomes an open standard, no longer Adobe-owned.
  6. ISO 32000-2 / PDF 2.0 (2017, rev. 2020)The first ISO-authored edition: consolidation, tightening, and the baseline NextPDF writes by default.
The PDF's version lineage as a timeline: a PostScript spin-off becomes a paid product, accretes features across the 1.x line, is handed to ISO in 2008, and arrives at the ISO-owned 2.0 baseline NextPDF targets.

Alguns detalhes nessa linha do tempo valem a pausa, porque explicam o caráter do formato.

Ele veio de uma linguagem de impressão. O PostScript podia desenhar qualquer coisa que uma impressora pudesse, mas era uma linguagem de programação completa — um arquivo PostScript podia entrar em loop para sempre. O PDF manteve o sistema de coordenadas e os operadores gráficos do PostScript e descartou a programabilidade. O que restou foi uma descrição estática de uma página acabada: previsível, limitada e segura para renderizar. Essa troca é o motivo pelo qual uma página de PDF tem a mesma aparência em todo leitor, e pelo qual ela não é um pequeno aplicativo da forma que um arquivo PostScript efetivamente era.

A adoção eletrônica gratuita foi um ponto de virada. O PDF 1.0 era um produto comercial, e por anos o formato foi uma curiosidade paga. O avanço foi tornar o leitor gratuito enquanto as ferramentas de autoria permaneciam pagas. Um formato em que só um lado precisa investir é um formato que todos podem receber. Quando a especificação chegou à 1.7, o PDF já era a forma padrão de enviar um documento que não pode mudar em trânsito.

2008 mudou quem detém as regras. Entregar o PDF 1.7 à ISO transformou uma especificação de fornecedor em um padrão internacional. Esse é o momento em que um motor independente e conformante se torna possível afinal — há um documento público contra o qual construir, com uma cláusula pública para cada comportamento.

Você pode ler o arco inteiro na primeira linha de um arquivo. O cabeçalho é um marcador de versão, e é o contrato mais antigo e simples do formato — presente em 1993 e inalterado em forma até hoje.

%PDF-1.0 ← 1993, Acrobat 1.0
%PDF-1.4 ← 2001, transparency and the basis for PDF/A-1
%PDF-1.7 ← 2006, the version ISO adopted as 32000-1 in 2008
%PDF-2.0 ← ISO 32000-2, the first ISO-authored edition

Os mesmos oito bytes, com uma geração de diferença. Um leitor moderno pode abrir os quatro, porque o formato foi projetado de modo que um leitor mais antigo possa ignorar o que não entende enquanto um mais novo permanece compatível com o que veio antes. Na prática, um leitor mais antigo pode, em vez disso, renderizar um recurso desconhecido incorretamente, então a garantia é uma intenção de design, não uma absoluta. O NextPDF escreve o último destes por padrão, e pode escrever os outros quando um perfil de conformidade os solicita.

A armadilha é ler os números de versão como uma história de reinvenção dramática — como se o PDF 2.0 estivesse para o PDF 1.7 assim como uma sequência está para um filme. Está mais próximo de uma nova edição cuidadosa de um longo livro de referência. O modelo de objetos, a tabela de referência cruzada e o trailer que um arquivo de 1993 usava são reconhecidamente a mesma maquinaria que um arquivo 2.0 usa. A maior parte do que mudou ao longo de trinta anos foi acrescentada ao lado do design original, não arrancada e substituída. O formato é incomumente conservador, e esse conservadorismo é justamente o ponto: um arquivo escrito hoje deve continuar abrindo daqui a uma década, e um arquivo escrito há uma década deve continuar abrindo hoje.

Um segundo equívoco é que “a ISO 32000-2 é a especificação da Adobe com uma capa nova”. As duas edições ISO são genuinamente diferentes em autoria. O PDF 2.0 é a primeira edição produzida dentro do processo da ISO em vez de publicada pela Adobe e ratificada depois, que é parte do motivo pelo qual ele se lê como uma consolidação de décadas de regras acumuladas em vez de um anúncio de recursos de um fornecedor.

Esta página é uma orientação narrativa, não um changelog preciso. As datas são dadas ao ano, e “1.1 a 1.7” comprime mais de uma década de especificações incrementais em uma linha de propósito. Se você precisa das diferenças exatas em nível de cláusula entre edições, isso é um documento diferente.

Historical PDF versions as an output target — edition availability
EditionAvailability
Core

Core writes PDF 2.0 by default and can serialize the older 1.7 and 1.4 file structures when a profile requires them. It is a writer of these versions, not a museum: it does not promise to read, repair, or faithfully reconstruct an arbitrary legacy file produced by another tool decades ago.

ProAvailable
EnterpriseAvailable

O NextPDF é um motor de PDF 2.0 que respeita sua linhagem; ele não é um historiador universal de todo PDF já feito. O comportamento aqui descreve os arquivos que ele escreve, ancorados nas edições que ele tem como alvo. Como esses arquivos são estruturados internamente, e o que o 2.0 especificamente mudou, são abordados nas páginas abaixo.

O PDF sempre foi gratuito para ler? Não. O leitor se tornou gratuito comparativamente cedo, mas o PDF 1.0 chegou como um produto pago. Leitura gratuita, autoria paga, é o modelo que tornou o formato onipresente.

O PDF 2.0 quebrou a compatibilidade com arquivos mais antigos? Em grande medida, não. A estrutura compartilhada está inalterada, e os novos recursos são projetados de modo que um leitor mais antigo possa ignorar o que não reconhece. Um recurso exclusivo do 2.0 normalmente não será honrado por um leitor 1.7, que pode ignorá-lo ou, dependendo do recurso e do leitor, recorrer a uma alternativa imperfeita.

Por que o NextPDF ainda escreve estrutura antiga afinal? Porque perfis de conformidade construídos sobre o PDF — notadamente alguns níveis de PDF/A — foram definidos contra as formas de arquivo mais antigas e as exigem. O passado é um alvo de saída suportado, não um obsoleto.

  • O que um PDF realmente é — o modelo de objetos, a tabela de referência cruzada e o trailer que esta história produziu.
  • PDF 2.0: o que mudou — as diferenças em nível de cláusula entre o 1.7 e o baseline 2.0.
  • O panorama dos padrões — onde a ISO 32000 se situa entre a federação mais ampla de padrões que o NextPDF acompanha.
  • Arquivamento e PDF/A — por que as estruturas de arquivo mais antigas desta história ainda são alvos de saída exigidos.
  • PostScript — a linguagem de descrição de página da Adobe, de 1984, para impressoras; uma linguagem de programação completa. O PDF herdou seu modelo de desenho, mas descartou a programabilidade.
  • Camelot — o nome interno do projeto, do memorando de 1991 de John Warnock, para o esforço que se tornou o PDF.
  • PDF 1.0 — a primeira especificação de PDF publicada, lançada com o Acrobat em 1993.
  • ISO 32000-1 — a adoção pela ISO, em 2008, do PDF 1.7; a primeira vez que o formato se tornou um padrão internacional aberto.
  • ISO 32000-2 (PDF 2.0) — a primeira edição de PDF escrita e detida inteiramente dentro da ISO em vez de publicada pela Adobe.
  • Perfil de conformidade — um padrão mais estrito sobreposto ao PDF base (como o PDF/A para arquivamento), frequentemente definido contra uma estrutura de arquivo específica, às vezes mais antiga.