Guías Datos y codificación

Cómo funcionan los archivos PDF

La estructura de un PDF (cabecera, objetos, tabla de referencias cruzadas, tráiler), un archivo mínimo completo cuyos desplazamientos se comprobaron con pdfinfo, cómo se guardan páginas y texto y cómo la edición deja rastros.

Última revisión:

AdSense Placeholder
Slot: header_reference_page
En esta página

Un PDF es un contenedor de objetos numerados, una tabla que dice dónde empieza cada uno y un tráiler que dice por dónde empezar a leer. Las páginas son objetos, las fuentes son objetos y las instrucciones de dibujo de cada página son un flujo de operadores. Trabaje con los archivos mediante Girar PDF, Editor de Metadatos PDF y Conversor de PDF a Texto; el término se define en PDF (formato de documento portátil).

Las cuatro partes de un archivo

  • Cabecera: %PDF-1.4 indica la versión.
  • Cuerpo: objetos numerados como 3 0 obj ... endobj (número de objeto, generación y luego el contenido).
  • Tabla de referencias cruzadas (xref): para cada objeto, el desplazamiento en bytes donde empieza, de modo que un lector pueda saltar directamente a él.
  • Tráiler: nombra el objeto raíz (/Root) y termina con startxref, el desplazamiento de la tabla, y luego %%EOF.

Un PDF mínimo completo

Este archivo de una página es completo. Sus desplazamientos son reales: pdfinfo lo lee como una página de 200 × 100 puntos y pdftotext extrae «Hello PDF».

%PDF-1.4
1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
2 0 obj
<< /Type /Pages /Kids [3 0 R] /Count 1 >>
endobj
3 0 obj
<< /Type /Page /Parent 2 0 R /MediaBox [0 0 200 100] /Contents 4 0 R /Resources << /Font << /F1 5 0 R >> >> >>
endobj
4 0 obj
<< /Length 39 >>
stream
BT /F1 18 Tf 20 50 Td (Hello PDF) Tj ET
endstream
endobj
5 0 obj
<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica >>
endobj
xref
0 6
0000000000 65535 f 
0000000009 00000 n 
0000000058 00000 n 
0000000115 00000 n 
0000000241 00000 n 
0000000330 00000 n 
trailer
<< /Size 6 /Root 1 0 R >>
startxref
400
%%EOF

Cómo encajan las piezas

  • El catálogo /Root apunta al árbol de páginas (/Pages), que enumera las páginas (/Kids).
  • Cada página tiene un /MediaBox (tamaño en puntos; 72 puntos = 1 pulgada) y /Contents, un flujo como BT ... ET que fija una fuente, se mueve a una posición y muestra texto.
  • Los recursos como las fuentes se referencian por nombre (/F1) y se definen en otro lugar.
  • Los archivos reales comprimen los flujos (/Filter /FlateDecode) y guardan muchos objetos juntos en flujos de objetos para ahorrar espacio.
  • Los metadatos viven en el diccionario /Info y, opcionalmente, en XMP; véalos y cámbielos con Editor de Metadatos PDF.

Por qué importa

  • Las ediciones pueden guardarse como una actualización incremental: se añaden objetos nuevos y una xref nueva, y los antiguos siguen en el archivo. El contenido eliminado o tachado puede seguir siendo recuperable.
  • La extracción de texto depende de cómo una fuente asigna glifos a caracteres; las páginas escaneadas solo contienen imágenes y necesitan OCR.
  • Una xref dañada a menudo se reconstruye buscando marcadores obj, que es como muchos lectores reparan archivos estropeados.
  • Para comprobar si un documento tiene cambios ocultos, vea Cómo comprobar si un PDF tiene cambios ocultos.

Pruebe estas herramientas

Véase también

Preguntas frecuentes

Un PDF guarda instrucciones de dibujo con posiciones, no texto que fluye. Las palabras se colocan glifo a glifo, sin párrafos, así que los editores tienen que reconstruir líneas y fuentes y a menudo no pueden.

AdSense Placeholder
Slot: footer_leaderboard