¿Qué es un archivo PDF? | Base de conocimientos

Introducción

Como ya sabe por el artículo sobre “PDL”, PDF es un lenguaje de descripción de páginas estático que tiene una estructura estricta e inmutable.

PDF es uno de los lenguajes de descripción de páginas más populares, si no, debido a una gran variedad de características que los desarrolladores de Adobe agregaron a su especificación. Además, Adobe también proporciona a las personas herramientas capaces de implementar estas funciones en los documentos. Este artículo es una breve revisión de la sintaxis, estructura y características de PDF.

¿Qué es un archivo PDF?

El objetivo inicial del desarrollo de PDF o formato de documento portátil abreviado era crear un formato de documento que cumpliera numerosos requisitos de intercambio de documentos digitales en entornos independientes del dispositivo y de la resolución. Estos requisitos incluyen vista interactiva, navegación de alto rendimiento, baja ocupación de espacio en disco, trabajo conjunto en documentos, soporte para diferentes contenidos multimedia, cifrado, firma, creación de formularios, presentación, etc. A pesar de la intención inicial de proporcionar a las empresas un formato completo para el intercambio de documentos digitales, también se agregaron a la especificación funciones de impresión de alta calidad, aunque más tarde.

Sintaxis del archivo PDF

PDF tiene un modelo de imagen derivado del de PostScript, también usa 1-2 caracteres, operadores largos, así como en formato AI, y también tiene sintaxis BNF postfix, donde todos los operandos necesarios van antes del operador.

operand1...operandm operator

Además de la longitud del operador, existen algunas diferencias entre los operadores PDF y PostScript. En PDF, todos los operandos necesarios deben preceder a los operadores, mientras que en Postscript los operandos se obtienen de la pila PostScript. En PDF, el operador no devuelve un resultado como puede ocurrir en PostScript. El operador de PDF ejecuta alguna acción para componer una página, por ejemplo, dibujar gráficos o texto o establece alguna propiedad en un entorno gráfico. En PostScript, los operadores hacen todo el trabajo.

Por lo general, la mayor parte del contenido de los archivos PDF se comprime con codificación Flate y, de esta manera, es binario. Además de la compresión, los archivos PDF también se pueden cifrar para limitar el acceso al contenido del documento. Por lo tanto, todo el archivo debe tratarse como binario. Sólo en el caso de que un archivo PDF no esté comprimido ni cifrado y no contenga contenido binario, como imágenes, sonido, vídeo, etc., puede considerarse textual.

Objetos de especificación PDF

En la especificación PDF objeto es sinónimo de tipo, mientras que en PostScript hay tipos que pueden ser primitivos y complejos y los últimos pueden denominarse “objetos”. Por lo tanto, todos los tipos de PDF, ya sean simples o complejos, son objetos. El lenguaje PDF consta de valores booleanos, números enteros, números reales, nombres, cadenas, matrices, diccionarios y secuencias. Las cadenas pueden estar en formato literal o hexadecimal como se muestra a continuación.

( This is a string )
<4E6F762073686D6F7A206B6120706F702E>

literal format
hexadecimal format

Las matrices están delimitadas por corchetes. Incluye un subtipo Rectángulo - matriz con 4 elementos.

Los diccionarios almacenan los datos en pares clave-valor donde la clave es un nombre o cadena (para el diccionario de nombres) y el valor es un objeto o una referencia de objeto. Está encerrado entre soportes de doble ángulo. Los diccionarios tienen un campo Tipo que muestra qué datos se almacenan en un diccionario determinado.

<< /Type /Example
  /Subtype /DictionaryExample
  /Version 0 . 01
  /IntegerItem 12
  /StringItem ( a string )
  /Subdictionary << /Item1 0 . 4
    /Item2 true
    /LastItem ( not ! )
    /VeryLastItem ( OK )
  >>
>>
endobj

Los objetos pueden ser directos e indirectos. Los objetos indirectos son aquellos a los que otros objetos pueden hacer referencia mediante su ID.

PDF objetos indirectos Los flujos son objetos que normalmente contienen datos binarios o codificados. Son ilegibles para los humanos y no tienen limitaciones de longitud. Por lo general, las secuencias de archivos PDF contienen contenido de página comprimido o imágenes o algún otro medio. El objeto Stream consta de un diccionario directo con la longitud de la transmisión y una serie de filtros utilizados para codificar la transmisión, y datos codificados después de la palabra clave stream.

181 0 obj
  <<
    /Length 473 0 R
    /Subtype /Image
    /Width 2
    /Height 19
    /BitsPerComponent 8
    /ColorSpace /DeviceGray
    /Filter [/ASCII85Decode /FlateDecode]
  >>
stream
Gb"[2*s<F2i'/7_!,1%/hZ~>
endstream
endobj

Operadores de PDF

Los operadores son una especie de objetos directos que crean gráficos de páginas y, como mencionamos anteriormente, están representados por palabras clave de 1 o 2 letras. Hay dos tipos de operadores PDF:

* ejecutar acciones o configurar propiedades del estado de los gráficos.

PDF operator

x y m
x y l
x1 y1 x2 y2 x3 y3 c
h
x y width height re
a b c d e f cm
S
s
f
F
W
font size Tf
charSpace Tc
q
Q
lineWidth w
lineCap J
Tamaño de fuente Tf
charSpace Tc

Descripción

comenzar un nuevo subtrayecto moviendo el punto actual a las coordenadas (x, y)
agregar un segmento de línea recta desde el punto actual hasta el punto (x, y)
agregar una curva de Bézier cúbica al trazado actual
cerrar el subtrayecto actual
agregar un rectángulo al trazado actual
modificar la matriz de transformación actual concatenando la matriz especificada
trazar el trazado
el mismo, pero cerca del trazado
rellenar el trazado
el mismo, pero cerca del trazado
modificar el trazado de recorte actual intersecándolo con el trazado actual
Establezca la fuente del texto en font y el tamaño de la fuente del texto en size
Establezca el espaciado entre caracteres en charSpace
Guarde el estado actual de los gráficos en la pila de estado de gráficos
Restaure el estado de los gráficos desde la pila de estado de gráficos
Establezca el ancho de línea en el estado de gráficos
Establezca el estilo de límite de línea en el estado de gráficos
Establezca la fuente del texto en font y el tamaño de la fuente del texto en size
Establezca el espaciado entre caracteres en charSpace

* agrupación

PDF operator

BT...ET
BI...EI
BMC...EMC
BX...EX

Descripción

comenzar y finalizar un objeto de texto
comenzar y finalizar un objeto de imagen
comenzar y finalizar una secuencia de contenido marcado
comenzar y finalizar una sección de compatibilidad

Los tipos especiales de operadores de agrupación son BX…EX. Encierran partes del contenido de la página donde se deben ignorar los objetos no identificados. Por lo tanto, son equivalentes a los pseudocomentarios %_ de IA.

Estructura del archivo PDF

El archivo PDF tiene cuatro elementos estructurales obligatorios.

Estructura del archivo PDF

  1. Encabezado de una línea, donde está escrita la versión del idioma PDF.

%PDF-1.5

  1. Cuerpo que contiene los objetos del documento. La estructura del cuerpo se describirá más adelante en este artículo.

  2. Tabla de referencias cruzadas. Se utiliza para un acceso aleatorio rápido a los objetos del documento. Contiene un desplazamiento en bytes hasta el comienzo de los objetos desde el inicio del archivo.

xref
0 6
0000000003 65535 f
0000000017 00000 n
0000000081 00000 n
0000000000 00007 f
0000000331 00000 n
0000000409 00000 n

  1. Trailer, apunta a la última tabla de referencias cruzadas y contiene una cantidad común de objetos en las tablas de referencias cruzadas, El DNI del documento y las referencias a:

trailer
  <<
    /Size 15
    /Root 2 0 R
    /Info 1 0 R
  >>
startxref
6224

Después de cada actualización del documento se agrega una nueva tabla de referencias cruzadas y un avance. Se describirá más adelante en el artículo.

Estructura del documento

El documento PDF tiene una estructura en forma de árbol donde la raíz es un diccionario de catálogo.

Estructura del documento PDF

El catálogo contiene referencias en el subárbol de descripción de páginas, el subárbol de esquema y otros subárboles a nivel de documento y nodos de hoja.

2 0 obj
  << /Type /Catalog
    /Pages 3 0 R
    /Outlines 4 0 R
    /PageMode /UseOutlines
    /ViewerPreferences 5 0 R
    /OpenAction [6 0 R /Fit]
  >>
endobj

El árbol de páginas contiene el orden de los nodos del árbol de páginas y de las hojas de página. La estructura exactamente en forma de árbol de un conjunto de páginas junto con el algoritmo de búsqueda permite una navegación rápida a través de miles de páginas para encontrar la que necesita.

Flujo de contenido de la página PDF

El diccionario de páginas contiene referencias sobre el flujo de contenido que se puede comprimir como se muestra en la figura anterior o sin comprimir. En el último caso, veríamos operadores PDF en texto legible por humanos como se muestra en la siguiente figura.

7 0 obj
  <<
    /Length 8 0 R
  >>
stream
1 0 0 1 0 0 cm
0 0 m
595 0 l
595 842 l
0 842 l
h
W
n
q
/Alpha1 gs
0 0 0 rg
0 0 0 RG
0 J
q
0.96593 0.25882 -0.25882 0.96593 0 0 cm
1 0 0 1 0 0.25882 cm
0.02 w
-0.96593 0 m
0 -0.25882 l
0 -0.25882 0 -0.25882 0 -0.25882 c
0.14294 -0.25882 0.25882 -0.14294 0.25882 0 c
0.25882 0.14294 0.14294 0.25882 0 0.25882 c
h
S
Q
endstream
endobj

Además de una serie de páginas de nodos secundarios (pueden ser páginas de árbol o nodos de página), el diccionario contiene referencias al diccionario de recursos, que a su vez hace referencia a fuentes, conjuntos de procesos, imágenes (XObject), etc.

9 0 obj
  <<
    /ProcSet 10 0 R
    /XObject 11 0 R
    /Font 12 0 R
    /ExtGState 13 0 R
  >>
endobj

Las anotaciones y otros subárboles se mencionarán casualmente en la sección Funciones.

Características

Posibilidades gráficas del formato PDF.

No tiene sentido mencionar las posibilidades comunes a la mayoría de los lenguajes de descripción de páginas al dibujar gráficos y texto. Simplemente decimos que la riqueza de fuentes y espacios de color admitidos es la misma que en PostScript.

Fonts

- Adobe Type 0
- Adobe Type 1
- Compact Fonts (CFF)
- Chameleon
- TrueType
- CID-keyed

Color spaces

- DeviceGray
- DeviceRGB
- DeviceCMYK
- DeviceN
- Separated colors
- Spot
- CIE-based

Transparencia

PDF admite transparencia.

Archivos externos

Cualquier archivo multimedia o documento se puede incrustar en PDF o consultar desde un documento.

Hipervínculos

Los hipervínculos son compatibles con PDF.

Vista electoral e interactiva

PDF permite mostrar sólo partes del contenido y su apariencia que son necesarias para determinado uso y ocultar las demás. Es útil, por ejemplo, al importar gráficos de Adobe Illustrator que tienen capas, algunas de las cuales son necesarias para trabajar en Adobe Illustrator, pero no son necesarias para visualizarlas en Adobe Acrobat Reader. Otro caso de visión electoral puede ser un artículo escrito en diferentes idiomas o representado para usuarios con discapacidad pero guardado en un solo documento. También puede haber diferentes variantes de uso: una vista para ver, diseñar e imprimir.

Una vista interactiva de PDF incluye capacidades:

La anotación es una especie de cuadro flotante que contiene algunas notas, sonido, vídeo o algún otro contenido.

La navegación entre diferentes partes de los documentos se puede realizar de varias maneras:

El movimiento por las ventanas gráficas y la ocultación de algunas partes del documento se realiza mediante los diccionarios Viewport y NavigationNode.

Actualizaciones incrementales

Todos los cambios realizados en el documento PDF se adjuntan al documento sin borrar el contenido anterior. Y cada vez que se modifican los documentos se añaden nuevos xref (tabla de referencias cruzadas) y trailer. La nueva tabla de referencias cruzadas contiene referencias sobre objetos agregados o eliminados y sobre la tabla de referencias cruzadas anterior. Dicho mecanismo permite reunir el contenido final del documento y, al mismo tiempo, almacenar estados anteriores del documento.

Actuación

La estructura en forma de árbol de las páginas y su eficaz algoritmo de búsqueda proporcionan un alto rendimiento en la navegación por las páginas. Sin embargo, se puede aumentar aún más combinando elementos gráficos repetitivos en un objeto, llamado Form XObject y usando un objeto en todos los lugares necesarios. También existe una forma de optimizar todo el documento para obtener una vista de alto rendimiento. Es linealización. La linealización se inventó inicialmente para la visualización efectiva de documentos PDF a los que se accede a través de la web. El documento PDF linealizado es de solo lectura; cualquier cambio en este requerirá una linealización repetida.

El alto rendimiento de la navegación entre objetos de documentos se logra mediante tablas de referencias cruzadas que almacenan desplazamientos de objetos desde el inicio del archivo.

Compresión

La compresión de documentos PDF, generalmente codificación plana, permite la creación de documentos grandes con una ocupación de espacio en disco relativamente baja. Por ejemplo, el archivo de especificación PDF que contiene 758 páginas con un esquema, miniaturas, imágenes y tablas tiene un tamaño de aproximadamente 9 Mb.

Seguridad

Los documentos PDF se pueden cifrar para dar acceso diferenciado sólo a determinados usuarios y se pueden firmar. La función de firma digital permite autenticar la identidad del usuario y el contenido del documento. La firma digital vincula el estado del documento cuando se firma con la información del usuario. La firma digital puede tener cualquier forma: desde puramente matemático hasta escaneo de retina si se proporciona el controlador de firma correspondiente.

Formularios interactivos

Se utiliza para recopilar información de los usuarios. Los formularios interactivos, o los llamados AcroForms, pueden validar, formatear y enviar datos del usuario a un servidor.

Presentación

Existen varios medios de presentación en PDF:

Contenido multimedia

Se pueden agregar imágenes, sonidos, clips de películas y gráficos 3D a los documentos PDF.

Datos de extracción

PDF permite agregar ciertas marcas que brindan a las aplicaciones externas la posibilidad de extraer los datos necesarios. El documento con dicho marcado se denomina PDF etiquetado.

Soporte de preimpresión

La preparación para la publicación incluye marcas de imprenta, separación de colores, intenciones de salida y solapado.

¿Para qué sirve un archivo PDF?

La principal aplicación de los documentos PDF es el intercambio y visualización de documentos electrónicos en diferentes entornos.

¿Cómo hago un archivo PDF?

La creación y edición de documentos PDF es posible en aplicaciones independientes de Adobe Acrobat.

¿Cómo abro un archivo PDF?

Puede abrir y ver archivos PDF en la aplicación independiente Adobe Acrobat Reader o en el navegador Google Chrome con el complemento PDF. También te ayudarán utilidades sencillas como Sumatra PDF, Foxit Reader o Free PDFReader. Otra forma es ver PDF en línea, por ejemplo, en Google Drive.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.