O que é PDF?
Portable Document Format, padronizado como ISO 32000, descreve documentos de layout fixo independentemente do software aplicativo, do hardware e do sistema operacional. Um PDF pode conter texto, fontes, elementos gráficos, formulários, anotações e arquivos incorporados.
Como funciona o PDF
PDF serializa um grafo de objetos orientado a páginas que contém fluxos de conteúdo, recursos, fontes, imagens, anotações e a estrutura do documento. As informações de referência cruzada permitem que os leitores localizem objetos indiretos, enquanto atualizações incrementais podem acrescentar alterações sem reescrever os bytes anteriores. Uma página pode combinar texto nativo e elementos vetoriais com conteúdo raster digitalizado, então a semelhança visual não implica a mesma capacidade de extração ou acessibilidade. Os pipelines de documentos escolhem operações de renderização, análise, otimização, assinatura ou arquivamento de acordo com os recursos reais e os objetivos de conformidade.
Informações essenciais
- Salvar um PDF de forma incremental acrescenta os objetos alterados, uma nova seção de referências cruzadas e um novo trailer, mantendo todos os bytes anteriores no lugar. A referência do PDF observa que alterações salvas podem ser desfeitas removendo as seções acrescentadas e que objetos excluídos permanecem no arquivo, apenas marcados como excluídos. Portanto, o conteúdo removido ou coberto na revisão mais recente ainda pode ser recuperado, a menos que o arquivo seja reescrito sem os objetos antigos.
- Um PDF assinado só pode ser alterado por meio de atualizações incrementais, porque alterar qualquer byte existente invalida suas assinaturas. Uma etapa de processamento que reescreve o arquivo, como recompressão ou otimização, invalidará essas assinaturas; decida se elas precisam ser preservadas antes de acrescentar uma etapa desse tipo.
- Exibir texto e extraí-lo usam dados diferentes. Um visualizador precisa apenas de glifos, enquanto busca, cópia e indexação precisam de um mapeamento de códigos de caracteres para Unicode, proveniente de uma codificação padrão, de um CMap
ToUnicodeou deActualText. Sem esse mapeamento, a página continua com a aparência correta, mas a extração retorna caracteres incorretos ou ausentes, e incorporar a fonte não muda isso. A documentação do pdfminer.six oferece um teste rápido: copie o texto de um visualizador para um editor e, se o resultado for ilegível, uma biblioteca de extração não fará melhor. Uma página digitalizada não tem nenhum objeto de texto e precisa de OCR. - PDF/A é uma família de perfis da ISO 19005, não uma extensão de arquivo. As partes 1 a 3 exigem a incorporação de todas as fontes, cores independentes de dispositivo e metadados baseados em padrões, e proíbem criptografia, áudio, vídeo e JavaScript. Portanto, apenas incorporar fontes não torna um arquivo conforme. Um arquivo declara sua parte e seu nível nos metadados XMP (
pdfaid:partepdfaid:conformance); confirmar essa declaração exige um validador como o veraPDF. O nível B cobre apenas a aparência visual, então um arquivo de nível B criado a partir de páginas digitalizadas pode não ter texto extraível. - A linha de cabeçalho
%PDF-nem sempre corresponde à versão do arquivo: desde o PDF 1.4, uma entradaVersionno catálogo do documento pode substituí-la, que é como uma atualização incremental aumenta a versão. A ISO 32000-1 padronizou o PDF 1.7, e a ISO 32000-2, publicada pela primeira vez em 2017 e revisada em 2020, define o PDF 2.0.
Quando o PDF é importante
Inspecione o conteúdo real de um PDF antes de escolher etapas de geração de miniaturas, extração, mesclagem ou otimização. Fontes incorporadas, recursos interativos, criptografia e páginas digitalizadas podem limitar a compatibilidade ou exigir tratamento especializado.
Como a Transloadit ajuda com PDF
Os Robots de documentos da Transloadit recebem PDF como entrada ou o produzem: /document/thumbs renderiza páginas como imagens, /document/extract retorna texto selecionável e imagens raster incorporadas, /document/ocr reconhece texto em documentos digitalizados, /document/split e /document/merge extraem e concatenam páginas, /document/optimize reduz o tamanho do arquivo e /document/convert produz PDF a partir de outros formatos de documento.
No modo de texto nativo, /document/extract retorna pouco ou nenhum texto para PDFs digitalizados, e seus modos de OCR não podem ser combinados com uma senha. /document/convert converte arquivos para PDF, não de PDF para outros formatos. A documentação dos Robots não menciona saída PDF/A nem preservação de assinaturas, então não presuma nenhum desses recursos.
- Robot /document/thumbs
- Robot /document/extract
- Robot /document/ocr
- Robot /document/merge
- Robot /document/optimize (English)
- Robot /document/convert
Explore os formatos de arquivo e os recursos de compressão da Transloadit
Fontes
- Referência do PDF da Adobe, sexta edição (PDF 1.7): estrutura de arquivos, atualizações incrementais, criptografia e extração de conteúdo textual
- Biblioteca do Congresso: PDF 2.0, ISO 32000-2 (2017, revisada em 2020)
- Biblioteca do Congresso: família PDF/A, PDF para preservação de longo prazo
- veraPDF: validação de PDF/A e PDF/UA
- Perguntas frequentes do pdfminer.six: por que o texto extraído contém identificadores brutos de caracteres