PDF/A-3 com XML anexado: o que a conversão faz e o que não faz
Como o PDF/A-3 aceita arquivos anexados, por que a conversão não anexa o XML da nota e como montar o fluxo na ordem certa, com validação no fim.
Um PDF com XML anexado é um arquivo que traz o documento para leitura humana e, dentro dele, outro arquivo estruturado para leitura por máquina. Para isso funcionar em arquivamento, o PDF precisa seguir o PDF/A-3, a norma que permite anexos de outros formatos. O AjustaPDF converte para PDF/A-3b, mas não anexa o XML: são duas etapas diferentes, feitas por ferramentas diferentes.
O que o PDF/A-3 permite que as outras versões não permitem
O PDF/A é uma família de normas ISO para arquivamento de longo prazo; o guia sobre a diferença entre PDF/A-1b, 2b e 3b compara os três níveis. A versão 2 define que o documento precisa trazer tudo o que é necessário para ser exibido: fontes, cores, metadados e nada que dependa de rede ou de programas externos. Uma consequência dessa regra é que o PDF/A-2 aceita anexos apenas quando o próprio anexo é um PDF/A. Quem gera o PDF/A por código em C# compara, em QuestPDF ou iText, qual biblioteca cobre esse nível.
O PDF/A-3 relaxa essa regra. Ele mantém as exigências de exibição do 2 e passa a aceitar arquivos anexados de qualquer formato. É por isso que a norma aparece em documentos eletrônicos com um XML junto: o PDF é a parte que o ser humano lê, e o XML é a parte que o sistema processa.
| Pergunta | PDF/A-2b | PDF/A-3b |
|---|---|---|
| Aceita arquivo anexado de outro formato? | Não | Sim |
| Fontes e cores definidas dentro do arquivo? | Sim | Sim |
| Gerado pela ferramenta? | Sim, como nível padrão | Sim, como opção |
| Anexa o XML automaticamente? | Não | Não |
A última linha da tabela é a que mais importa para quem chega aqui procurando uma solução pronta. Nenhum dos níveis faz a anexação sozinho. O nível 3b apenas torna o resultado possível.
O que a conversão faz
A ferramenta de PDF para PDF/A recebe um PDF e grava uma cópia no nível escolhido. Ela embute as fontes, define as cores em sRGB com um perfil ICC e escreve os metadados XMP que declaram a norma e o nível. Recursos proibidos pela norma, como JavaScript, são removidos. No nível 1b, a transparência é achatada.
Nada disso é o mesmo que anexar. O campo da ferramenta é apenas o nível, e o arquivo de saída é um PDF com o conteúdo do original, convertido. A ferramenta só aceita PDF como entrada, então não há onde enviar o XML. Essa é a limitação que mais gera confusão, e ela é deliberada: a ferramenta converte, não monta documentos fiscais.
O que a conversão não faz nesse fluxo
O AjustaPDF não gera um DANFE a partir de um XML e não valida a assinatura de um documento fiscal. Ela também não confere se a nota está válida perante o fisco. O que é o XML de uma NF-e está no guia sobre o arquivo XML da nota fiscal. Essas tarefas pertencem ao sistema emissor da nota, ao contador ou ao sistema que vai receber o arquivo.
Para conferir o próprio PDF/A, use um validador de conformidade, como o veraPDF. Ele aponta cada item que não passou, e isso é o que um órgão costuma pedir como comprovação. Documentos com recursos incomuns podem precisar de ajuste no original antes da conversão, mesmo que o conversor termine sem erro; se o validador reprovar, o guia sobre PDF/A reprovado na validação lista as causas mais comuns.
Como montar o fluxo na ordem certa
- Confirme a norma exigida. Peça ao destinatário o nível e se o XML deve ir dentro do PDF ou em arquivo separado. Alguns sistemas aceitam os dois, outros não.
- Gere o PDF de origem. Use a versão final do documento, sem senha. Se o arquivo estiver protegido, tire a senha antes, porque o PDF/A não aceita criptografia.
- Converta para PDF/A. Escolha o nível. Use 3b quando o XML precisar ir dentro do arquivo, e 2b quando não houver anexo.
- Anexe o XML pelo sistema que emite a nota. Se o emissor não faz isso, um editor de PDF com suporte a anexos faz a etapa, e a ordem importa.
- Valide o resultado. Rode o validador e guarde o relatório junto com o arquivo. Se algo mudar depois, valide de novo.
A ordem é o ponto em que a maioria dos fluxos quebra. Anexar antes da conversão é arriscado, porque a conversão regrava o arquivo inteiro e não há garantia de que um anexo de origem sobreviva ou continue em conformidade. Por isso, a sequência acima começa pela conversão.
O que pode dar errado
Um erro comum é achar que o PDF/A por si só garante validade fiscal. A norma trata da preservação do arquivo, não do conteúdo fiscal. Outro erro é renomear o XML para parecer um anexo: o sistema que lê o arquivo procura o anexo dentro da estrutura do PDF, e um nome bonito não substitui isso.
Por fim, cuidado com o tamanho. Um PDF/A pode ficar um pouco maior que o original, porque as fontes passam a ir embutidas. Em documentos que já tinham as fontes incorporadas, a diferença costuma ser pequena. Para os limites de envio, o guia sobre o que trava o tamanho de um PDF ajuda a conferir antes de anexar.
Quando o PDF/A simples basta
Para arquivamento de contratos, relatórios e documentos sem anexo, o nível 2b é o padrão certo, e o guia sobre quando usar PDF/A explica a escolha com mais detalhes. O 3b faz sentido só quando há um arquivo para levar junto, e nesse caso a anexação tem que estar no fluxo desde o início.
Perguntas frequentes
O conversor de PDF/A do AjustaPDF anexa o XML da nota dentro do PDF?
Não. A ferramenta de PDF para PDF/A recebe um PDF e devolve um PDF/A no nível que você escolher, com fontes embutidas, cores definidas e metadados de conformidade. Ela não tem campo para anexar outro arquivo. Se o seu fluxo exige o XML dentro do PDF, a anexação precisa ser feita por um sistema emissor ou por um editor que suporte arquivos anexados.
Posso converter um PDF de fatura para PDF/A-3b e depois anexar o XML?
Pode, em duas etapas. O AjustaPDF faz a conversão, e a anexação precisa ser feita depois, por um sistema que suporte arquivos anexados. Converta primeiro, anexe em seguida e valide o resultado com um validador de PDF/A. Qualquer alteração feita depois pode quebrar a conformidade.
Qual é a diferença entre PDF/A-2b e PDF/A-3b para um documento com XML?
O 2b é o nível recomendado para arquivamento de documentos comuns, e não aceita anexos de outros formatos. O 3b segue as mesmas regras do 2b e permite anexar arquivos de qualquer tipo, como um XML. Se o sistema que recebe pede arquivos anexados, o 3b é o nível que o comporta.
Como sei se o órgão ou o cliente exige PDF/A-3 com o XML anexado?
Pergunte antes de montar o arquivo, ou procure a especificação do sistema que vai recebê-lo. Peça o nome da norma, o nível exigido e se o XML deve estar dentro do PDF ou enviado separado. Uma resposta por escrito evita refazer o arquivo depois.