Pular para o conteúdo

Arquivamento e PDF/A

Spec: ISO 19005-4:2020, PDF/A-4 Spec: ISO 19005-2, PDF/A-2 Evidence: Standard-backed

PDF/A é o formato que você usa quando um documento precisa permanecer legível e fiel daqui a décadas, em softwares que ainda nem existem. Esta página explica o que essa garantia realmente cobre, como o NextPDF produz um arquivo conforme e o ponto que costuma surpreender as equipes: produzir PDF/A e provar que um arquivo é PDF/A são duas tarefas diferentes. A segunda ainda é sua.

As obrigações de arquivamento são implacáveis de forma silenciosa. O arquivo parece correto hoje, então é arquivado. A falha — uma fonte não incorporada, uma cor dependente de dispositivo, um trailer criptografado — aparece anos depois, quando o ambiente original já não existe e ninguém consegue reconstruir como o documento deveria ser. Nesse ponto, o custo não é uma nova renderização; é um registro no qual você já não pode confiar.

PDF/A existe precisamente para eliminar essa classe de falha. Mas “usamos uma biblioteca PDF/A ” não é o mesmo que “este arquivo está conforme”. Confundir as duas coisas é o caminho para arquivos cheios de documentos que apenas parecem preservados.

  • O objetivo do PDF/A é uma reprodução fiel, autocontida e independente de dispositivo ao longo do tempo — ele preserva a aparência visual estática de um documento, independentemente das ferramentas que o criaram (ISO 19005-2, Introdução).
  • Isso exige restrições concretas: todas as fontes incorporadas, cor independente de dispositivo (diretamente ou por meio de um output intent; ISO 19005-4 §6.2.4.1) e nenhuma criptografia no trailer.
  • O NextPDF produz PDF/A por meio de um modo explícito e opt-in que recusa operações incompatíveis em vez de emitir um arquivo que silenciosamente não está conforme.
  • A conformidade é determinada por uma ferramenta de verificação, não afirmada pelo produtor. Até o sucesso da própria norma depende do ambiente de arquivamento e dos procedimentos ao seu redor (ISO 19005-4, Introdução). Validar a saída é uma etapa que continua sendo sua responsabilidade.

O NextPDF trata o PDF/A como um modo do documento, não como um filtro de pós-processamento. O modo é opt-in. Uma vez ativado, ele protege ativamente o documento contra operações que quebrariam a conformidade. O princípio de design é fail-fast. É melhor recusar de forma explícita uma solicitação de PDF/A criptografado do que devolver um arquivo que parece adequado para arquivamento, mas não é.

O cenário tem quatro estágios. O terceiro é o que as equipes pulam.

  1. Compose for permanence Embed every font, use device-independent colour or an output intent, and avoid features the chosen PDF/A part forbids.
  2. Enable the PDF/A mode Opt in explicitly to the target conformance level. The mode now guards the document against incompatible operations.
  3. Validate independently Run a conformance checker. A passing report — not the producing library — is the evidence the archive needs.
  4. Preserve with procedure Store under records-management policy. The standard itself notes archival success depends on the environment, not the file alone.
O cenário de arquivamento de ponta a ponta: o motor produz um candidato conforme e recusa operações que quebram a conformidade; um validador independente entrega o veredito que realmente importa para um arquivo.

O opt-in é uma proteção real, não uma flag. Quando o modo PDF/A está ativado e uma operação incompatível é tentada — ativar o AES-GCM ou o manipulador de criptografia padrão — o motor levanta um erro de incompatibilidade tipado. A proteção funciona nas duas ordens: ativar o PDF/A e depois solicitar criptografia, ou solicitar criptografia e só então ativar o PDF/A. Em ambos os casos, o resultado é uma recusa clara. A ISO 19005 proíbe a chave Encrypt no trailer de um arquivo conforme, e o motor trata isso como obrigatório, não como uma mera recomendação.

O modo também mantém o próprio estado coerente. Ativar o PDF/A para uma parte específica (por exemplo, um nível byte-faithful de PDF/A-3 em vez de PDF/A-4) define o discriminante de conformidade correspondente no documento. As verificações do lado do escritor que dependem da parte passam a enxergar o valor correto em vez de um padrão desatualizado. Esse é o tipo de consistência interna que decide se um validador aprova o arquivo.

Esta página é standard-backed por completo. Evidence: Standard-backed

O objetivo é definido pela norma. Spec: ISO 19005-2 afirma que o objetivo primário do PDF/A é um mecanismo para representar documentos eletrônicos de modo que sua aparência visual estática seja preservada ao longo do tempo, independentemente das ferramentas e dos sistemas utilizados. As restrições decorrem disso: Spec: ISO 19005-4:2020, §6.2.4.1 exige que a cor seja especificada de forma independente de dispositivo, diretamente ou por meio do output intent do PDF/A. O requisito de fontes é reforçado pelo formato base — Spec: ISO 32000-2:2020, §9 observa que a renderização mais previsível e confiável ocorre quando todas as fontes estão incorporadas, exatamente a propriedade da qual um arquivo não pode prescindir.

O limite também está na norma, não apenas em uma ressalva editorial. Spec: ISO 19005-4:2020 afirma em sua Introdução que a implementação bem-sucedida para fins de arquivamento depende do ambiente de arquivamento da organização, das políticas de gestão de documentos e de condições adicionais de persistência. A conformidade é avaliada em relação aos requisitos normativos da norma por uma ferramenta de verificação — não é declarada pelo produtor.

O comportamento do motor é code-backed: Evidence: Code-backed Document::enablePdfA() é um opt-in explícito que levanta um erro de incompatibilidade tipado quando criptografia e PDF/A são combinados em qualquer ordem, e mantém o discriminante de conformidade do documento em sincronia com a parte selecionada.

O código abaixo mostra o comportamento da proteção nesse ponto de encontro. O modo PDF/A em si é um recurso do nível Premium. A verificação de conformidade é uma etapa separada e independente.

<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;
use NextPDF\Security\Exception\IncompatiblePdfAModeException;
/**
* Produce an archival candidate, then prove it independently.
*
* The engine refuses conformance-breaking combinations; it does NOT
* certify the result. A validator does that.
*
* @param PdfDocumentInterface $doc A document with all fonts embedded
* @param object $pdfaLevel The target PDF/A version (Premium enum)
*
* @return string The archival candidate's bytes — not yet a verified PDF/A
*/
function buildArchivalCandidate(
PdfDocumentInterface $doc,
object $pdfaLevel,
): string {
try {
// Opt in explicitly. From here the mode guards the document.
$doc->enablePdfA($pdfaLevel);
} catch (IncompatiblePdfAModeException $e) {
// e.g. encryption was already requested — refused, not silently
// downgraded into a non-conforming "archival" file.
throw new \RuntimeException(
'PDF/A and encryption are mutually exclusive for a conforming '
. 'file; resolve before archiving.',
previous: $e,
);
}
$bytes = $doc->getPdfData();
// The step teams skip: this is a CANDIDATE. Run an independent
// conformance validator before treating it as a preserved record.
return $bytes;
}

O comentário no retorno é a lição. O nome da função diz candidate de propósito. O motor produziu algo que deveria estar conforme. Só um verificador transforma esse “deveria” em evidência.

Um equívoco enche os arquivos de documentos não preservados: “a biblioteca diz PDF/A, portanto o arquivo é PDF/A.” Não cabe à biblioteca emitir esse veredito. Um produtor pode emitir um arquivo destinado a estar conforme e, ainda assim, deixar de atender a um requisito normativo. A conformidade é determinada em relação à norma por uma ferramenta de validação. É nessa determinação que um auditor ou um leitor futuro se apoia. Tratar a intenção da biblioteca produtora como prova é o erro central.

Uma segunda armadilha, mais sutil: presumir que o PDF/A, por si só, preserva o documento. A própria norma vincula o sucesso do arquivamento ao ambiente e aos procedimentos ao seu redor. Um arquivo conforme em um repositório sem disciplina ainda corre risco. O formato é necessário, mas não suficiente.

  • O NextPDF produz um candidato conforme; ele não certifica a conformidade. Execute um validador independente. Um relatório aprovado é a evidência, não a biblioteca produtora.
  • Os modos de conformidade com o PDF/A são um recurso do nível Premium. O Core emite PDF 2.0 puro e apresenta um caminho de upgrade acionável. Ele não oferece garantias de PDF/A. Veja a fronteira abaixo.
  • PDF/A e criptografia são mutuamente exclusivos em um arquivo conforme. O motor recusa a combinação em qualquer ordem em vez de degradar silenciosamente.
  • O motor não pode incorporar fontes que não recebe nem corrigir a cor dependente de dispositivo que você fornece. Compor para permanência — fontes incorporadas, cor independente de dispositivo — é uma responsabilidade de entrada.
  • A durabilidade do arquivamento depende do processo, não apenas do arquivo. A ISO 19005 torna a retenção organizacional e os procedimentos de gestão de documentos parte da preservação bem-sucedida.
  • Esta página é standard-backed e de nível de comportamento na superfície Premium. Ela não afirma nenhuma certificação e não concede nenhuma.
PDF/A archival conformance — edition availability
Edition Availability
Core

O Core produz apenas PDF 2.0 puro. enablePdfA() levanta um erro de upgrade acionável apontando para o pacote comercial. Não há nenhuma garantia de PDF/A apenas no Core.

Pro

Os modos de conformidade com o PDF/A (incluindo os níveis byte-faithful de PDF/A-3 e o PDF/A-4) estão disponíveis, com a proteção de incompatibilidade de criptografia.

Enterprise

Adiciona uma política e um relatório estruturais de conformidade com o PDF/A (ainda uma verificação de estrutura, não uma certificação — a determinação final cabe a um validador e à equipe de compliance).

  • Fontes: a parte difícil — por que uma fonte que parece correta ainda pode tornar um arquivo não conforme ou impossível de pesquisar.
  • Teste de golden-file — como uma saída de referência fixada captura o desvio de bytes que quebra silenciosamente as garantias de arquivamento.
  • Faturas e faturamento eletrônico — o vizinho mais próximo: um portador híbrido de fatura é, ele próprio, um arquivo PDF/A.
  • PDF/A — a família ISO 19005: um perfil restrito de PDF para preservação de longo prazo, projetado para reproduzir a aparência estática de um documento ao longo do tempo, independentemente das ferramentas produtoras.
  • Nível de conformidade / parte — a variante específica de PDF/A (por exemplo, PDF/A-2, PDF/A-3, PDF/A-4 e seus subníveis); cada uma restringe quais recursos do PDF podem ser usados.
  • Output intent — um perfil de caracterização de cor incorporado que permite interpretar a cor dependente de dispositivo de forma independente de dispositivo.
  • Cor independente de dispositivo — cor especificada de modo que se reproduza de forma consistente, independentemente do dispositivo de renderização, um requisito do PDF/A.
  • Verificador de conformidade / validador — software independente que avalia um arquivo em relação aos requisitos normativos da norma; a fonte do veredito de conformidade.
  • Candidato a arquivamento — um arquivo produzido com a intenção de estar conforme, antes que um validador independente tenha confirmado que ele de fato está.