Formato de Archivo PDF Explicado: Anatomía, Capas y Estándares
Qué hay realmente dentro de un PDF? Un diagrama etiquetado y glosario que cubre las cuatro secciones físicas (encabezado, cuerpo, xref, tráiler), las seis capas de contenido (texto, imágenes, fuentes, anotaciones, vectores, firmas), metadatos y los estándares ISO (PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT) construidos sobre ellos.
Un PDF no es una sola cosa. Es un contenedor binario con una estructura específica en disco, un conjunto de capas de contenido apiladas dentro de ese contenedor y una familia de estándares ISO construidos sobre la especificación base. Ábrelo en un editor hexadecimal y la estructura es visible en texto plano en las primeras líneas. Ábrelo en un visor y las capas se renderizan juntas como una sola página.
Esta guía es una referencia etiquetada: la estructura física del archivo, las capas de contenido que contiene un cuerpo, los metadatos que rodean todo y los estándares (PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT) que lo restringen para casos de uso específicos.

¿Quiere usar este diagrama en su blog? Copie este código de inserción:
Las Cuatro Secciones Físicas
Cada PDF en disco tiene la misma estructura de cuatro partes, en este orden:
1. Encabezado (Header)
La primera línea del archivo. Siempre comienza con %PDF- seguido de un número de versión:
%PDF-1.7Las versiones van desde 1.0 (lanzado en 1993) hasta 2.0 (lanzado en 2017, actual). El encabezado va seguido de una línea de comentario con bytes binarios que señalan a FTP y otras herramientas de transporte que este es un archivo binario.
2. Cuerpo - Objetos Indirectos (Body - Indirect Objects)
La mayor parte del archivo. Cada página, fuente, imagen y anotación es un objeto indirecto numerado:
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 /Contents 4 0 R /Resources << ... >> >>
endobjCada objeto tiene un ID (el número antes de 0 obj), un número de generación (0, usado para actualizaciones incrementales) y una carga útil entre << y >> para diccionarios o stream y endstream para flujos binarios (datos de imagen, datos de fuente, contenido comprimido).
Los objetos se referencian entre sí con la sintaxis <id> <gen> R (por ejemplo, 3 0 R significa "objeto 3, generación 0"). Así es como una página hace referencia a la fuente que utiliza, o cómo un catálogo hace referencia a la raíz del árbol de páginas.
3. Tabla de Referencia Cruzada (xref)
Una tabla de búsqueda de desplazamiento de bytes. Para cada objeto en el cuerpo, el xref registra su posición absoluta de bytes en el archivo:
xref
0 6
0000000000 65535 f
0000000017 00000 n
0000000089 00000 n
0000000172 00000 n
0000000299 00000 n
0000000453 00000 nEsto es lo que hace que los PDF sean de acceso aleatorio. Un visor puede leer el xref, saltar directamente al desplazamiento de bytes del objeto 3 y renderizar esa página sin analizar el resto del archivo. Es por eso que los PDF de un solo capítulo se abren instantáneamente, incluso cuando el archivo fuente tiene 500 páginas.
4. Tráiler (Trailer)
La última sección. Le dice al analizador dónde encontrar el xref y qué objeto es la raíz:
trailer
<< /Size 6 /Root 1 0 R /Info 7 0 R >>
startxref
1893
%%EOFEl valor startxref es el desplazamiento de bytes de la tabla xref. El marcador %%EOF es el final literal del archivo. Los tráileres son lo que hace posibles las actualizaciones incrementales: agregar un nuevo xref + tráiler al final le permite agregar objetos sin reescribir todo el archivo.
Las Seis Capas de Contenido
Dentro del cuerpo, el contenido se almacena en seis tipos de capas. Cada página PDF renderizada es un compuesto de estas capas:
1. Texto
Comandos de posición de glifos y referencias de fuentes, no cadenas de texto. Un PDF almacena instrucciones como "dibujar el glifo 42 de la fuente F3 en la posición (120, 540)" en lugar de "dibujar la letra A aquí". Es por eso que el texto es seleccionable y buscable: el visor mapea inversamente los IDs de glifos a puntos de código Unicode a través de un mapeo ToUnicode (o un CMap para fuentes CJK).
Cuando al texto le falta un mapeo ToUnicode, se produce el clásico problema de "PDF con texto seleccionable que se copia como basura". El texto es visible, pero el mapeo de glifo a Unicode está roto o ausente.
2. Imágenes
Almacenadas como flujos incrustados en uno de varios formatos:
- JPEG (filtro DCTDecode): fotografías, el más común
- JPEG2000 (JPXDecode): mayor compresión, menos común
- Equivalente a PNG (filtro FlateDecode + Predictor): capturas de pantalla, arte lineal
- CCITT Group 4 (filtro CCITTFaxDecode): texto escaneado en blanco y negro, utilizado en escaneos de archivo
- JBIG2 (filtro JBIG2Decode): imágenes de nivel binario, común en documentos con OCR
Las imágenes pueden ser submuestreadas, recompresadas o reemplazadas sin afectar a otro contenido.
3. Fuentes (Fonts)
Incrustadas como programas de fuentes completos, subconjuntos (solo glifos utilizados incluidos) o referenciadas por nombre (deben estar instaladas en el sistema del visor). El subconjunto es el predeterminado: reduce drásticamente el tamaño del archivo. Formatos de fuente compatibles: Type1, TrueType, OpenType y CIDFont (para CJK).
Cuando una fuente se referencia pero no está incrustada y no está instalada en el sistema del visor, el visor sustituye una fuente similar, lo que generalmente se ve mal. PDF/A requiere que todas las fuentes estén incrustadas para evitar esto.
4. Anotaciones (Annotations)
Resaltados, comentarios, enlaces, sellos, marcas de agua y campos de formulario son todas anotaciones. Se superponen al contenido de la página y se pueden agregar, editar o eliminar sin cambiar la página subyacente.
Los campos de formulario son un caso especial: una anotación de widget interactiva (la parte visible) más un diccionario de campo (la parte de datos). Cuando completa un formulario y lo guarda, solo cambian los diccionarios de campo: la página en sí no se modifica.
5. Gráficos Vectoriales (Vector Graphics)
Líneas, formas, curvas y trazados dibujados con operadores similares a PostScript (moveto, lineto, curveto). Escalan infinitamente sin pérdida de calidad. La mayoría de las exportaciones de CAD, gráficos y diagramas en PDF son gráficos vectoriales.
6. Firmas Digitales (Digital Signatures)
Firmas respaldadas por PKI vinculadas a rangos de bytes del archivo. El diccionario de firma especifica "los bytes 0 a 12,547 y 14,200 hasta el final del archivo están firmados" - un pequeño rango en el medio está reservado para el valor de la firma en sí. Cualquier cambio en los rangos de bytes firmados invalida la firma, que es cómo el PDF detecta la manipulación después de firmar.
Algunos PDF tienen múltiples firmas, apiladas como actualizaciones incrementales: cada firmante firma el archivo tal como existía cuando lo recibió, preservando la cadena.
Metadatos: Dos Sistemas Paralelos
PDF tiene dos sistemas de metadatos que a menudo discrepan:
Diccionario Estándar /Info
Almacenado en el tráiler. Campos: Title, Author, Subject, Keywords, Creator (la aplicación con la que el usuario creó el documento), Producer (la aplicación que generó el PDF), CreationDate, ModDate. Cadenas de texto plano, fáciles de leer con cualquier herramienta PDF.
Flujo de Metadatos XMP
Un flujo XML separado (Adobe XMP, basado en RDF/XML) que admite esquemas más ricos: Dublin Core, IPTC, esquemas personalizados específicos del dominio (perfiles de color, registros de derechos de autor, versionado de manuscritos).
Los generadores de PDF modernos escriben en ambos. Los PDF antiguos solo tienen /Info. Algunos PDF tienen /Info obsoleto de una versión anterior y XMP preciso de una edición reciente, o viceversa. Al auditar PDF para cumplimiento o forense, verifique ambos.
Estándares ISO Construidos sobre PDF
La especificación base de PDF es ISO 32000. Varios estándares derivados restringen PDF para casos de uso específicos:
| Estándar | Uso | Restricciones |
|---|---|---|
| PDF/A | Archivo a largo plazo | Todas las fuentes incrustadas, sin JavaScript, sin audio/video, espacios de color independientes del dispositivo. Niveles de conformidad: PDF/A-1, A-2, A-3 (permite adjuntos de archivo) |
| PDF/X | Producción de impresión | Color CMYK, fuentes incrustadas y perfiles de color, sin transparencia (PDF/X-1a) o con transparencia controlada (PDF/X-4) |
| PDF/UA | Accesibilidad | Árbol de estructura etiquetado, metadatos de idioma, texto alternativo para imágenes, orden de lectura lógico |
| PDF/E | Ingeniería | Modelos 3D (formatos U3D, PRC), metadatos específicos de CAD |
| PDF/VT | Impresión transaccional variable | Optimizado para envíos personalizados de alto volumen |
Un PDF puede cumplir con múltiples estándares simultáneamente: PDF/A-2u (archivo con mapeo Unicode) más PDF/UA (accesibilidad) es común para archivos gubernamentales y legales.
PDF Linealizados (Optimizados para Web)
Un PDF "linealizado" u "optimizado para web" reordena el cuerpo para que los objetos de la primera página aparezcan al principio del archivo. Un visor web puede renderizar la página 1 después de descargar solo los primeros ~50 KB en lugar de esperar todo el archivo. El tráiler se duplica al principio, además de una tabla de sugerencias que le dice al visor dónde comienza cada página.
La mayoría de los generadores de PDF modernos admiten la linealización como una opción "Guardar para Web". El formato agrega un 2-5% al tamaño del archivo a cambio de una renderización rápida de la primera página en conexiones lentas.
Cifrado y Permisos
Los PDF se pueden cifrar con una contraseña (o certificados) y otorgar permisos granulares: imprimir, copiar texto, modificar, rellenar formularios, extraer para accesibilidad. El cifrado se almacena en el diccionario /Encrypt del tráiler.
Las fortalezas del cifrado han evolucionado: RC4 de 40 bits (PDFs tempranos, trivialmente descifrados hoy), RC4 de 128 bits (aún débil), AES-128, AES-256. La implementación original de RC4 de Acrobat 5 fue descifrada públicamente en 2001; el cifrado PDF moderno (AES-256, PDF 2.0) es sólido cuando se usa con contraseñas seguras.
Nota: Los "permisos" son consultivos. Un visor que los respete los aplicará. Un visor que los ignore (o una herramienta que elimine el cifrado) no lo hará.
Cómo Lee PDFSub los PDF
PDFSub procesa los PDF utilizando el enlace de PDFium en Rust (el mismo motor que impulsa el visor de PDF de Chromium) más PaddleOCR para documentos escaneados. Para obtener detalles completos de la arquitectura y una comparación con herramientas basadas en la nube, consulte Seguridad de PDF en Navegador vs. Nube.
Para convertir PDF a otros formatos conservando la estructura descrita anteriormente:
- PDF a Excel - extrae texto + tablas, conserva coordenadas
- OCR PDF - agrega una capa de texto buscable a los PDF escaneados
- PDF a Word - reorganiza el texto en párrafos editables
- Comprimir PDF - submuestrea imágenes, subconjuntos de fuentes
Para flujos de trabajo de archivo específicamente, consulte Cómo Convertir PDF a PDF/A.
Lectura Adicional
- ISO 32000-2 (especificación PDF 2.0) - referencia autorizada, de pago
- Archivos de Referencia PDF de Adobe - referencia gratuita para PDF 1.7
- PDF Association - grupo de trabajo de la industria, artículos gratuitos y archivos de prueba de conformidad
Para temas específicos de PDF: Guía de Cumplimiento de PDF para Abogados, Guía de Conversión de PDF/A.