El formato de documento portátil ( PDF ), estandarizado como ISO 32000 , es un formato de archivo desarrollado por Adobe en 1992 para presentar documentos , incluido el formato de texto e imágenes, de una manera independiente del software de aplicación , el hardware y los sistemas operativos . [2] [3] Basado en el lenguaje PostScript , cada archivo PDF encapsula una descripción completa de un documento plano de diseño fijo, incluido el texto, las fuentes , los gráficos vectoriales , las imágenes rasterizadas y otra información necesaria para mostrarlo. PDF tiene sus raíces en "El Proyecto Camelot" iniciado por el cofundador de Adobe, John Warnock, en 1991. [4] PDF fue estandarizado como ISO 32000 en 2008. [5] La última edición como ISO 32000-2:2020 se publicó en diciembre de 2020.
Los archivos PDF pueden contener una variedad de contenido además de texto plano y gráficos, incluidos elementos de estructuración lógica, elementos interactivos como anotaciones y campos de formulario, capas, contenido multimedia (incluido contenido de video), objetos tridimensionales que utilizan U3D o PRC y varios otros formatos de datos . La especificación PDF también proporciona cifrado y firmas digitales , archivos adjuntos y metadatos para habilitar flujos de trabajo que requieren estas funciones.
El desarrollo de PDF comenzó en 1991, cuando John Warnock escribió un artículo para un proyecto que entonces tenía el nombre en código de Camelot, en el que proponía la creación de una versión simplificada de PostScript llamada Interchange PostScript (IPS). [6] A diferencia del PostScript tradicional, que estaba estrictamente enfocado en la reproducción de trabajos de impresión en dispositivos de salida, IPS estaría optimizado para mostrar páginas en cualquier pantalla y en cualquier plataforma. [6]
Adobe Systems puso a disposición de forma gratuita la especificación PDF. En los primeros años, el formato PDF fue popular principalmente en los flujos de trabajo de autoedición y compitió con varios otros formatos, incluidos DjVu , Envoy , Common Ground Digital Paper, Farallon Replica e incluso el propio formato PostScript de Adobe.
PDF era un formato propietario controlado por Adobe hasta que fue lanzado como estándar abierto el 1 de julio de 2008 y publicado por la Organización Internacional de Normalización como ISO 32000-1:2008, [7] [8] momento en el que el control de la especificación pasó a un Comité ISO de expertos voluntarios de la industria. En 2008, Adobe publicó una Licencia Pública de Patente para ISO 32000-1 que otorgaba derechos libres de regalías para todas las patentes propiedad de Adobe necesarias para crear, usar, vender y distribuir implementaciones compatibles con PDF. [9]
PDF 1.7, la sexta edición de la especificación PDF que se convirtió en ISO 32000-1, incluye algunas tecnologías propietarias definidas solo por Adobe, como Adobe XML Forms Architecture (XFA) y la extensión JavaScript para Acrobat, que son referenciadas por ISO 32000-1 como normativas e indispensables para la implementación completa de la especificación ISO 32000-1. [10] Estas tecnologías propietarias no están estandarizadas y su especificación se publica solo en el sitio web de Adobe. [11] [12] [13] Muchas de ellas no son compatibles con las implementaciones populares de terceros de PDF.
La ISO publicó en 2017 la versión 2.0 de PDF, ISO 32000-2, disponible para su compra, en sustitución de la especificación gratuita proporcionada por Adobe. [14] En diciembre de 2020, se publicó la segunda edición de PDF 2.0, ISO 32000-2:2020, con aclaraciones, correcciones y actualizaciones críticas de las referencias normativas [15] (la ISO 32000-2 no incluye ninguna tecnología propietaria como referencia normativa). [16] En abril de 2023, la Asociación PDF puso a disposición la ISO 32000-2 para su descarga gratuita. [14]
Un archivo PDF suele ser una combinación de gráficos vectoriales , texto y gráficos de mapa de bits . Los tipos básicos de contenido de un PDF son:
En revisiones posteriores de PDF, un documento PDF también puede admitir enlaces (dentro del documento o página web), formularios, JavaScript (inicialmente disponible como complemento para Acrobat 3.0) o cualquier otro tipo de contenido integrado que pueda manejarse mediante complementos.
PDF combina tres tecnologías:
PostScript es un lenguaje de descripción de páginas que se ejecuta en un intérprete para generar una imagen. [6] Puede manejar gráficos y tiene características estándar de los lenguajes de programación, como ramificaciones y bucles . [6] PDF es un subconjunto de PostScript, simplificado para eliminar dichas características de flujo de control , mientras que los comandos gráficos permanecen. [6]
PostScript fue diseñado originalmente para un caso de uso drásticamente diferente : la transmisión de trabajos de impresión lineales unidireccionales en los que el intérprete PostScript recopilaría una serie de comandos hasta que encontrara el showpage
comando, luego ejecutaría todos los comandos para representar una página como una imagen rasterizada en un dispositivo de impresión. [17] PostScript no fue pensado para el almacenamiento a largo plazo y la representación interactiva en tiempo real de documentos electrónicos en monitores de computadora , por lo que no había necesidad de soportar nada más que la representación consecutiva de páginas. [17] Si había un error en la salida impresa final, el usuario lo corregiría en el nivel de aplicación y enviaría un nuevo trabajo de impresión en forma de un archivo PostScript completamente nuevo. Por lo tanto, cualquier página dada en un archivo PostScript podría ser representada con precisión solo como el resultado acumulativo de ejecutar todos los comandos anteriores para dibujar todas las páginas anteriores, cualquiera de los cuales podría afectar las páginas posteriores, más los comandos para dibujar esa página en particular, y no había una manera fácil de omitir ese proceso para saltar a diferentes páginas. [17]
Tradicionalmente, para pasar de PostScript a PDF, se utiliza un archivo PostScript de origen (es decir, un programa ejecutable) como base para generar código PDF similar a PostScript (consulte, por ejemplo, Adobe Distiller ). Esto se hace aplicando técnicas de compilación estándar como el desenrollado de bucles , la inserción en línea y la eliminación de ramas no utilizadas, lo que da como resultado un código que es puramente declarativo y estático. [17] Luego, el resultado final se empaqueta en un formato contenedor , junto con todas las dependencias necesarias para una representación correcta (archivos externos, gráficos o fuentes a las que hace referencia el documento), y se comprime . Las aplicaciones modernas escriben en controladores de impresora que generan PDF directamente en lugar de pasar primero por PostScript.
Como formato de documento, PDF tiene varias ventajas sobre PostScript:
Sus desventajas son:
A partir de la versión 1.6, el formato PDF admite la incorporación de documentos 3D interactivos: los dibujos 3D se pueden incorporar utilizando U3D o PRC y varios otros formatos de datos. [20] [21] [22]
Un archivo PDF se organiza utilizando caracteres ASCII , excepto ciertos elementos que pueden tener contenido binario. El archivo comienza con un encabezado que contiene un número mágico (como una cadena legible) y la versión del formato, por ejemplo %PDF-1.7
. El formato es un subconjunto de un formato COS (estructura de objetos "Carrusel"). [23] Un archivo de árbol COS consta principalmente de objetos , de los cuales hay nueve tipos: [16]
(...)
) o representadas como hexadecimales entre corchetes angulares simples ( <...>
). Las cadenas pueden contener caracteres de 8 bits./
)[...]
)<<...>>
)stream
y endstream
.%
Se pueden insertar comentarios que utilicen caracteres de 8 bits precedidos por el signo de porcentaje ( ).
Los objetos pueden ser directos (incrustados en otro objeto) o indirectos . Los objetos indirectos se numeran con un número de objeto y un número de generación y se definen entre las palabras clave obj
y endobj
si residen en la raíz del documento. A partir de la versión 1.5 de PDF, los objetos indirectos (excepto otros flujos) también pueden ubicarse en flujos especiales conocidos como flujos de objetos (marcados como /Type /ObjStm
). Esta técnica permite que a los objetos que no son flujos se les apliquen filtros de flujo estándar, reduce el tamaño de los archivos que tienen una gran cantidad de objetos indirectos pequeños y es especialmente útil para PDF etiquetados . Los flujos de objetos no admiten la especificación del número de generación de un objeto (que no sea 0).
Una tabla de índice, también llamada tabla de referencia cruzada, se encuentra cerca del final del archivo y proporciona el desplazamiento en bytes de cada objeto indirecto desde el inicio del archivo. [24] Este diseño permite un acceso aleatorio eficiente a los objetos del archivo y también permite realizar pequeños cambios sin tener que reescribir todo el archivo ( actualización incremental ). Antes de la versión 1.5 de PDF, la tabla siempre estaría en un formato ASCII especial, se marcaría con la xref
palabra clave y seguiría al cuerpo principal compuesto por objetos indirectos. La versión 1.5 introdujo secuencias de referencia cruzada opcionales , que tienen la forma de un objeto de secuencia estándar, posiblemente con filtros aplicados. Dicha secuencia se puede utilizar en lugar de la tabla de referencia cruzada ASCII y contiene los desplazamientos y otra información en formato binario. El formato es flexible ya que permite la especificación del ancho de un entero (utilizando la /W
matriz), de modo que, por ejemplo, un documento que no supere los 64 KiB de tamaño puede dedicar solo 2 bytes para los desplazamientos de objetos.
Al final de un archivo PDF hay un pie de página que contiene
startxref
palabra clave seguida de un desplazamiento al inicio de la tabla de referencia cruzada (comenzando con la xref
palabra clave) o el objeto de flujo de referencia cruzada, seguido de%%EOF
de final de archivo .Si no se utiliza un flujo de referencia cruzada, el pie de página está precedido por la trailer
palabra clave seguida de un diccionario que contiene información que de otro modo estaría contenida en el diccionario del objeto del flujo de referencia cruzada:
/Root
)/Size
)Dentro de cada página, hay uno o varios flujos de contenido que describen el texto, los vectores y las imágenes que se dibujan en la página. El flujo de contenido está basado en pilas , de forma similar a PostScript. [25]
Los archivos PDF tienen dos diseños: no linealizados (no "optimizados") y linealizados ("optimizados"). Los archivos PDF no linealizados pueden ser más pequeños que sus contrapartes lineales, aunque son más lentos de acceder porque partes de los datos necesarios para ensamblar las páginas del documento están dispersas por todo el archivo PDF. Los archivos PDF linealizados (también llamados archivos PDF "optimizados" u "optimizados para la web") están construidos de una manera que permite leerlos en un complemento del navegador web sin esperar a que se descargue todo el archivo, ya que todos los objetos necesarios para que se muestre la primera página están organizados de manera óptima al comienzo del archivo. [26] Los archivos PDF se pueden optimizar utilizando el software Adobe Acrobat o QPDF .
Las dimensiones de la página no están limitadas por el formato en sí. Sin embargo, Adobe Acrobat impone un límite de 15 millones por 15 millones de pulgadas, o 225 billones en 2 (145,161 km 2 ). [2] : 1129
El diseño básico de cómo se representan los gráficos en PDF es muy similar al de PostScript, excepto por el uso de transparencia, que se agregó en PDF 1.4.
Los gráficos PDF utilizan un sistema de coordenadas cartesianas independiente del dispositivo para describir la superficie de una página. Una descripción de página PDF puede utilizar una matriz para escalar , rotar o inclinar elementos gráficos. Un concepto clave en PDF es el de estado de gráficos , que es una colección de parámetros gráficos que se pueden cambiar, guardar y restaurar mediante una descripción de página . PDF tiene (a partir de la versión 2.0) 25 propiedades de estado de gráficos, de las cuales algunas de las más importantes son:
Al igual que en PostScript, los gráficos vectoriales en PDF se construyen con trazados . Los trazados suelen estar compuestos de líneas y curvas cúbicas de Bézier , pero también se pueden construir a partir de los contornos del texto. A diferencia de PostScript, PDF no permite que un único trazado mezcle contornos de texto con líneas y curvas. Los trazados se pueden trazar, rellenar, rellenar y luego trazar o utilizar para recortar . Los trazos y rellenos pueden utilizar cualquier color establecido en el estado de gráficos, incluidos los patrones . PDF admite varios tipos de patrones. El más simple es el patrón de mosaico en el que se especifica que una pieza de ilustración se dibuje repetidamente. Este puede ser un patrón de mosaico coloreado , con los colores especificados en el objeto de patrón, o un patrón de mosaico sin color , que difiere la especificación del color al momento en que se dibuja el patrón. A partir de PDF 1.3 también hay un patrón de sombreado , que dibuja colores que varían continuamente. Hay siete tipos de patrones de sombreado, de los cuales los más simples son el sombreado axial (Tipo 2) y el sombreado radial (Tipo 3).
Las imágenes rasterizadas en PDF (denominadas Image XObjects ) se representan mediante diccionarios con un flujo asociado. El diccionario describe las propiedades de la imagen y el flujo contiene los datos de la imagen. (Con menos frecuencia, las imágenes rasterizadas pequeñas pueden incrustarse directamente en una descripción de página como una imagen en línea ). Las imágenes suelen filtrarse con fines de compresión. Los filtros de imágenes compatibles con PDF incluyen los siguientes filtros de uso general:
Normalmente, todo el contenido de imagen de un PDF está incrustado en el archivo. Sin embargo, PDF permite almacenar datos de imágenes en archivos externos mediante el uso de secuencias externas o imágenes alternativas . Los subconjuntos estandarizados de PDF, incluidos PDF/A y PDF/X , prohíben estas funciones.
El texto en PDF se representa mediante elementos de texto en los flujos de contenido de la página. Un elemento de texto especifica que los caracteres deben dibujarse en determinadas posiciones. Los caracteres se especifican mediante la codificación de un recurso de fuente seleccionado .
Un objeto de fuente en PDF es una descripción de una tipografía digital . Puede describir las características de una tipografía o puede incluir un archivo de fuente incrustado . El último caso se denomina fuente incrustada , mientras que el primero se denomina fuente no incrustada . Los archivos de fuente que se pueden incrustar se basan en formatos de fuentes digitales estándar ampliamente utilizados: Type 1 (y su variante comprimida CFF), TrueType y (a partir de PDF 1.6) OpenType . Además, PDF admite la variante Type 3 en la que los componentes de la fuente se describen mediante operadores gráficos PDF.
Catorce tipos de letra, conocidos como las 14 fuentes estándar , tienen un significado especial en los documentos PDF:
Estas fuentes a veces se denominan fuentes base catorce . [27] Estas fuentes, o fuentes sustitutas adecuadas con las mismas métricas, deberían estar disponibles en la mayoría de los lectores de PDF, pero no se garantiza que estén disponibles en el lector y es posible que solo se muestren correctamente si el sistema las tiene instaladas. [28] Las fuentes se pueden sustituir si no están incrustadas en un PDF.
Dentro de las cadenas de texto, los caracteres se muestran utilizando códigos de caracteres (enteros) que se asignan a glifos en la fuente actual utilizando una codificación . Hay varias codificaciones predefinidas, incluidas WinAnsi , MacRoman y muchas codificaciones para idiomas del este asiático, y una fuente puede tener su propia codificación incorporada. (Aunque las codificaciones WinAnsi y MacRoman se derivan de las propiedades históricas de los sistemas operativos Windows y Macintosh , las fuentes que utilizan estas codificaciones funcionan igualmente bien en cualquier plataforma). PDF puede especificar una codificación predefinida para usar, la codificación incorporada de la fuente o proporcionar una tabla de búsqueda de diferencias con una codificación predefinida o incorporada (no recomendado con fuentes TrueType). [2] Los mecanismos de codificación en PDF fueron diseñados para fuentes Type 1, y las reglas para aplicarlos a fuentes TrueType son complejas.
Para fuentes grandes o fuentes con glifos no estándar, se utilizan las codificaciones especiales Identity-H (para escritura horizontal) e Identity-V (para escritura vertical). Con estas fuentes, es necesario proporcionar una tabla ToUnicode si se desea conservar la información semántica sobre los caracteres.
Un documento de texto que se escanea a PDF sin que el texto sea reconocido por el reconocimiento óptico de caracteres (OCR) es una imagen, sin fuentes ni propiedades de texto.
El modelo de imagen original de PDF era opaco, similar a PostScript, donde cada objeto dibujado en la página reemplazaba por completo cualquier cosa previamente marcada en la misma ubicación. En PDF 1.4, el modelo de imagen se amplió para permitir la transparencia. Cuando se utiliza la transparencia, los nuevos objetos interactúan con los objetos previamente marcados para producir efectos de fusión. La adición de transparencia a PDF se realizó por medio de nuevas extensiones que fueron diseñadas para ser ignoradas en productos escritos para PDF 1.3 y especificaciones anteriores. Como resultado, los archivos que usan una pequeña cantidad de transparencia pueden ser vistos aceptablemente por visores más antiguos, pero los archivos que hacen un uso extensivo de la transparencia pueden ser vistos incorrectamente por un visor más antiguo.
Las extensiones de transparencia se basan en los conceptos clave de grupos de transparencia , modos de fusión , forma y alfa . El modelo está estrechamente alineado con las características de Adobe Illustrator versión 9. Los modos de fusión se basaron en los utilizados por Adobe Photoshop en ese momento. Cuando se publicó la especificación PDF 1.4, Adobe mantuvo en secreto las fórmulas para calcular los modos de fusión. Desde entonces se han publicado. [29]
El concepto de grupo de transparencias en la especificación PDF es independiente de las nociones existentes de "grupo" o "capa" en aplicaciones como Adobe Illustrator. Esas agrupaciones reflejan relaciones lógicas entre objetos que tienen sentido al editarlos, pero no forman parte del modelo de imágenes.
Un PDF etiquetado (consulte la cláusula 14.8 en ISO 32000) incluye información semántica y de la estructura del documento para permitir la extracción y accesibilidad de texto confiable . [30] Técnicamente hablando, un PDF etiquetado es un uso estilizado del formato que se basa en el marco de estructura lógica introducido en PDF 1.3. Un PDF etiquetado define un conjunto de tipos de estructura y atributos estándar que permiten extraer el contenido de la página (texto, gráficos e imágenes) y reutilizarlo para otros fines. [31]
El PDF etiquetado no es necesario en situaciones en las que un archivo PDF está destinado únicamente a imprimirse. Dado que la función es opcional y que las reglas para el PDF etiquetado eran relativamente vagas en la norma ISO 32000-1, el soporte para el PDF etiquetado entre los dispositivos de consumo, incluida la tecnología de asistencia (TA), es desigual a partir de 2021. [32] Sin embargo, la norma ISO 32000-2 incluye una discusión mejorada del PDF etiquetado que se prevé que facilitará una mayor adopción.
Un subconjunto del formato PDF estandarizado por ISO específicamente orientado a la accesibilidad, PDF/UA , se publicó por primera vez en 2012.
Con la introducción de la versión 1.5 (2003) de PDF, surgió el concepto de capas. Las capas, más formalmente conocidas como grupos de contenido opcional (OCG), hacen referencia a secciones de contenido de un documento PDF que los autores o lectores del documento pueden ver u ocultar de forma selectiva. Esta capacidad es útil en dibujos CAD, ilustraciones en capas, mapas, documentos en varios idiomas, etc.
Básicamente, consiste en un diccionario de propiedades de contenido opcional que se agrega a la raíz del documento. Este diccionario contiene una matriz de grupos de contenido opcionales (OCG), cada uno de los cuales describe un conjunto de información y cada uno de los cuales puede mostrarse o suprimirse individualmente, además de un conjunto de diccionarios de configuración de contenido opcionales, que indican el estado (mostrado o suprimido) de los OCG en cuestión.
Un archivo PDF puede estar cifrado por razones de seguridad, en cuyo caso se necesita una contraseña para ver o editar el contenido. PDF 2.0 define el cifrado AES de 256 bits como el estándar para los archivos PDF 2.0. La Referencia PDF también define formas en las que terceros pueden definir sus propios sistemas de cifrado para PDF.
Los archivos PDF pueden firmarse digitalmente para proporcionar una autenticación segura; en la norma ISO 32000-2 se proporcionan detalles completos sobre la implementación de firmas digitales en PDF.
Los archivos PDF también pueden contener restricciones DRM integradas que brindan más controles que limitan la copia, edición o impresión. Estas restricciones dependen del software del lector para que las respete, por lo que la seguridad que brindan es limitada.
La seguridad estándar proporcionada por PDF consta de dos métodos diferentes y dos contraseñas diferentes: una contraseña de usuario , que encripta el archivo y evita su apertura, y una contraseña de propietario , que especifica las operaciones que deben restringirse incluso cuando el documento está desencriptado, que pueden incluir modificar, imprimir o copiar texto y gráficos del documento, o agregar o modificar notas de texto y campos de AcroForm. La contraseña de usuario encripta el archivo, mientras que la contraseña de propietario no lo hace, sino que depende del software cliente para respetar estas restricciones. Una contraseña de propietario se puede eliminar fácilmente mediante software, incluidos algunos servicios en línea gratuitos. [33] Por lo tanto, las restricciones de uso que un autor de documento coloca en un documento PDF no son seguras y no se pueden garantizar una vez que se distribuye el archivo; esta advertencia se muestra al aplicar dichas restricciones utilizando el software Adobe Acrobat para crear o editar archivos PDF.
Incluso sin eliminar la contraseña, la mayoría de los lectores de PDF gratuitos o de código abierto ignoran las "protecciones" de permisos y permiten al usuario imprimir o hacer copias de extractos del texto como si el documento no estuviera limitado por la protección de contraseña. [34] [35] [36]
A partir de PDF 1.5, las firmas de derechos de uso (UR) se utilizan para habilitar funciones interactivas adicionales que no están disponibles de forma predeterminada en una aplicación de visualización de PDF en particular. La firma se utiliza para validar que los permisos han sido otorgados por una autoridad otorgante de buena fe . Por ejemplo, se puede utilizar para permitir a un usuario: [37]
Por ejemplo, Adobe Systems otorga permisos para habilitar funciones adicionales en Adobe Reader, utilizando criptografía de clave pública . Adobe Reader verifica que la firma utilice un certificado de una autoridad de certificación autorizada por Adobe. Cualquier aplicación PDF puede utilizar este mismo mecanismo para sus propios fines. [37]
En circunstancias específicas, incluidos sistemas del receptor que no están parcheados , la información que ve el receptor de un documento firmado digitalmente puede ser manipulada por el remitente después de que el firmante haya firmado el documento. [38]
PAdES ( PDF Advanced Electronic Signatures ) es un conjunto de restricciones y extensiones de PDF y de la norma ISO 32000-1 [39] que lo hacen adecuado para las firmas electrónicas avanzadas . Está publicado por ETSI como TS 102 778. [40]
Los archivos PDF pueden tener archivos adjuntos a los que los procesadores pueden acceder y abrir o guardar en un sistema de archivos local. [41]
Los archivos PDF pueden contener dos tipos de metadatos. [2] El primero es el Diccionario de información del documento, un conjunto de campos clave/valor como autor, título, tema, fecha de creación y fecha de actualización. Esto es opcional y se hace referencia a él desde una Info
clave en el tráiler del archivo. Se define un pequeño conjunto de campos y se puede ampliar con valores de texto adicionales si es necesario. Este método está obsoleto en PDF 2.0.
En PDF 1.4, se agregó compatibilidad con secuencias de metadatos, utilizando la Plataforma de metadatos extensible (XMP) para agregar metadatos extensibles basados en estándares XML, como se usa en otros formatos de archivo. PDF 2.0 permite adjuntar metadatos a cualquier objeto del documento, como información sobre ilustraciones, fuentes e imágenes incrustadas, así como al documento completo (adjuntándolo al catálogo de documentos), utilizando un esquema extensible.
Los documentos PDF también pueden contener configuraciones de visualización, incluido el diseño de la página y el nivel de zoom en un objeto de Preferencias del Visor. Adobe Reader utiliza estas configuraciones para anular las configuraciones predeterminadas del usuario al abrir el documento. [42] El Adobe Reader gratuito no puede eliminar estas configuraciones.
Los archivos PDF se pueden crear específicamente para que sean accesibles para personas con discapacidades. [43] [44] [45] [46] [47] Los formatos de archivos PDF en uso a partir de 2014 [actualizar]pueden incluir etiquetas, equivalentes de texto, subtítulos, descripciones de audio y más. Algunos programas pueden producir automáticamente archivos PDF etiquetados , pero esta función no siempre está habilitada de forma predeterminada. [48] [49] Los principales lectores de pantalla , incluidos JAWS , Window-Eyes , Hal y Kurzweil 1000 y 3000 , pueden leer archivos PDF etiquetados. [50] [51] Además, los archivos PDF etiquetados se pueden volver a ajustar y ampliar para lectores con discapacidades visuales. Agregar etiquetas a archivos PDF más antiguos y a los que se generan a partir de documentos escaneados puede presentar algunos desafíos.
Uno de los desafíos más importantes de la accesibilidad de los archivos PDF es que estos tienen tres vistas distintas que, según la creación del documento, pueden ser incoherentes entre sí. Las tres vistas son (i) la vista física, (ii) la vista de etiquetas y (iii) la vista de contenido. La vista física se muestra e imprime (lo que la mayoría de las personas considera un documento PDF). La vista de etiquetas es lo que utilizan los lectores de pantalla y otras tecnologías de asistencia para ofrecer una experiencia de lectura y navegación de alta calidad a los usuarios con discapacidades. La vista de contenido se basa en el orden físico de los objetos dentro del flujo de contenido del PDF y puede mostrarse mediante software que no admita totalmente la vista de etiquetas, como la función Reflow de Adobe Reader.
PDF/UA , el estándar internacional para PDF accesible basado en ISO 32000-1, se publicó por primera vez como ISO 14289–1 en 2012 y establece un lenguaje normativo para la tecnología PDF accesible.
Rich Media PDF es un archivo PDF que incluye contenido interactivo que se puede incrustar o vincular dentro del archivo. Puede contener imágenes, audio, contenido de video o botones. Por ejemplo, si el PDF interactivo es un catálogo digital para una empresa de comercio electrónico, los productos se pueden incluir en las páginas PDF y se pueden agregar imágenes y enlaces al sitio web y botones para realizar pedidos directamente desde el documento.
Los formularios interactivos son un mecanismo para agregar formularios al formato de archivo PDF. PDF actualmente admite dos métodos diferentes para integrar datos y formularios PDF. Ambos formatos coexisten hoy en día en la especificación PDF: [37] [52] [53] [54]
Los AcroForms se introdujeron en el formato PDF 1.2. Los AcroForms permiten el uso de objetos ( por ejemplo , cuadros de texto , botones de opción , etc. ) y algo de código ( por ejemplo, JavaScript). Junto con los tipos de acciones estándar de PDF, los formularios interactivos (AcroForms) admiten el envío, restablecimiento e importación de datos. La acción "enviar" transmite los nombres y valores de los campos de formulario interactivo seleccionados a un localizador uniforme de recursos (URL) especificado. Los nombres y valores de los campos de formulario interactivo se pueden enviar en cualquiera de los siguientes formatos (según la configuración de los indicadores ExportFormat, SubmitPDF y XFDF de la acción): [37]
Se puede enviar el documento completo en lugar de campos y valores individuales, como se definió en PDF 1.4.
AcroForms puede mantener los valores de los campos de formulario en archivos externos independientes que contienen pares clave-valor. Los archivos externos pueden utilizar archivos de formato de datos de formularios (FDF) y de formato de datos de formularios XML (XFDF). [58] [56] [59] Las firmas de derechos de uso (UR) definen los derechos para importar archivos de datos de formularios en formatos FDF, XFDF y de texto ( CSV / TSV ), y exportar archivos de datos de formularios en formatos FDF y XFDF. [37]
En PDF 1.5, Adobe Systems introdujo un formato propietario para formularios: Adobe XML Forms Architecture (XFA). Los formularios Adobe XFA no son compatibles con la función AcroForms de ISO 32000 y la mayoría de los procesadores PDF no admiten contenido XFA. La especificación XFA se menciona en ISO 32000-1/PDF 1.7 como una especificación externa y se eliminó por completo de PDF con ISO 32000-2 (PDF 2.0).
Cualquiera puede crear aplicaciones que puedan leer y escribir archivos PDF sin tener que pagar regalías a Adobe Systems; Adobe posee patentes de PDF, pero las licencia para su uso libre de regalías en el desarrollo de software que cumpla con su especificación PDF. [60]
En noviembre de 2019, investigadores de la Universidad del Ruhr de Bochum y Hackmanit GmbH publicaron ataques a archivos PDF firmados digitalmente. [61] Demostraron cómo cambiar el contenido visible en un PDF firmado sin invalidar la firma en 21 de los 22 visores de PDF de escritorio y 6 de los 8 servicios de validación en línea abusando de fallas de implementación. En la misma conferencia, mostraron además cómo exfiltrar el texto sin formato del contenido cifrado en archivos PDF. [62] En 2021, mostraron nuevos llamados ataques shadow en archivos PDF que abusan de la flexibilidad de las características proporcionadas en la especificación. [63] Jens Müller presentó una descripción general de los problemas de seguridad en archivos PDF con respecto a los ataques de denegación de servicio , divulgación de información , manipulación de datos y ejecución de código arbitrario . [64] [65]
Los archivos PDF pueden estar infectados con virus, troyanos y otros programas maliciosos. Pueden tener código JavaScript oculto que podría explotar vulnerabilidades en un PDF, objetos ocultos que se ejecutan cuando se abre el archivo que los oculta y, con menos frecuencia, un PDF malicioso puede ejecutar programas maliciosos. [66]
Los archivos PDF adjuntos que contienen virus se descubrieron por primera vez en 2001. El virus, llamado OUTLOOK.PDFWorm o Peachy , utiliza Microsoft Outlook para enviarse como un archivo PDF de Adobe adjunto. Se activó con Adobe Acrobat, pero no con Acrobat Reader. [67]
De vez en cuando, se descubren nuevas vulnerabilidades en varias versiones de Adobe Reader, [68] lo que lleva a la empresa a publicar parches de seguridad. Otros lectores de PDF también son susceptibles. Un factor agravante es que un lector de PDF puede configurarse para iniciarse automáticamente si una página web tiene un archivo PDF incrustado, lo que proporciona un vector para el ataque. Si una página web maliciosa contiene un archivo PDF infectado que se aprovecha de una vulnerabilidad en el lector de PDF, el sistema puede verse comprometido incluso si el navegador es seguro. Algunas de estas vulnerabilidades son el resultado de que el estándar PDF permite que los documentos PDF se escriban con JavaScript. Deshabilitar la ejecución de JavaScript en el lector de PDF puede ayudar a mitigar tales exploits futuros, aunque no protege contra exploits en otras partes del software de visualización de PDF. Los expertos en seguridad dicen que JavaScript no es esencial para un lector de PDF y que el beneficio de seguridad que se obtiene al deshabilitar JavaScript supera cualquier problema de compatibilidad causado. [69] Una forma de evitar los exploits de archivos PDF es tener un servicio local o web que convierta los archivos a otro formato antes de verlos.
El 30 de marzo de 2010, el investigador de seguridad Didier Stevens informó sobre una vulnerabilidad de explotación de Adobe Reader y Foxit Reader que ejecuta un archivo ejecutable malicioso si el usuario lo permite cuando se le solicita. [70]
Se ofrecen muchos visualizadores de PDF gratuitos de diversas fuentes. Los programas para manipular y editar archivos PDF están disponibles, generalmente a la venta.
Existen muchas opciones de software para crear archivos PDF, incluidas las capacidades de impresión PDF integradas en macOS , iOS , [71] y la mayoría de las distribuciones de Linux . Gran parte del software de procesamiento de documentos, incluidos LibreOffice , Microsoft Office 2007 (si se actualiza a SP2 ) y posteriores, [72] WordPerfect 9 y Scribus , pueden exportar documentos en formato PDF. Hay muchos controladores de impresión PDF para Microsoft Windows, el sistema de composición tipográfica pdfTeX , las herramientas PDF de DocBook , aplicaciones desarrolladas en torno a Ghostscript y el propio Adobe Acrobat , así como Adobe InDesign , Adobe FrameMaker , Adobe Illustrator, Adobe Photoshop, que permiten configurar una "impresora PDF", que cuando se selecciona envía la salida a un archivo PDF en lugar de a una impresora física. La suite de oficina en línea de Google, Google Docs, permite cargar y guardar en PDF. Algunas aplicaciones web ofrecen herramientas gratuitas de edición y anotación de PDF.
La Free Software Foundation estaba "desarrollando un conjunto de bibliotecas y programas libres, de alta calidad y completamente funcionales que implementan el formato de archivo PDF y las tecnologías asociadas al estándar ISO 32000", como uno de sus proyectos de alta prioridad . [73] [74] Sin embargo, en 2011, el proyecto GNU PDF fue eliminado de la lista de "proyectos de alta prioridad" debido a la maduración de la biblioteca Poppler , [75] que ha disfrutado de un uso más amplio en aplicaciones como Evince con el entorno de escritorio GNOME . Poppler se basa en la base de código Xpdf [76] [77] . También hay bibliotecas de desarrollo comerciales disponibles como se enumera en la Lista de software PDF .
El proyecto Apache PDFBox de la Apache Software Foundation es una biblioteca Java de código abierto, licenciada bajo la Licencia Apache , para trabajar con documentos PDF. [78]
Los procesadores de imágenes rasterizadas (RIP) se utilizan para convertir archivos PDF en un formato rasterizado adecuado para la impresión en papel y otros medios en impresoras, prensas de producción digital y preimpresión en un proceso conocido como rasterización . Los RIP capaces de procesar PDF directamente incluyen Adobe PDF Print Engine [79] de Adobe Systems y Jaws [80] y Harlequin RIP de Global Graphics .
En 1993, el procesador de imágenes rasterizadas Jaws de Global Graphics se convirtió en el primer RIP de preimpresión que interpretaba PDF de forma nativa sin conversión a otro formato. La empresa lanzó una actualización de su RIP Harlequin con la misma capacidad en 1997. [81]
Agfa-Gevaert presentó y lanzó Apogee, el primer sistema de flujo de trabajo de preimpresión basado en PDF, en 1997.
Muchas imprentas offset comerciales han aceptado el envío de archivos PDF listos para imprimir como fuente de impresión, específicamente el subconjunto PDF/X-1a y variaciones del mismo. [82] El envío de archivos PDF listos para imprimir es un reemplazo de la problemática necesidad de recibir archivos de trabajo nativos recopilados.
En 2006, el formato PDF fue ampliamente aceptado como el formato estándar para trabajos de impresión en la Cumbre de Impresión de los Laboratorios de Desarrollo de Código Abierto . El Sistema de Impresión Común de Unix lo admite como formato de trabajo de impresión y los proyectos de aplicaciones de escritorio como GNOME, KDE , Firefox , Thunderbird , LibreOffice y OpenOffice han cambiado para emitir trabajos de impresión en PDF. [83]
Algunas impresoras de escritorio también admiten la impresión directa de PDF, que puede interpretar datos PDF sin ayuda externa.
PDF fue seleccionado como el formato de metarchivo "nativo" para macOS (originalmente llamado Mac OS X), reemplazando el formato PICT del Mac OS clásico anterior . El modelo de imágenes de la capa gráfica Quartz se basa en el modelo común a Display PostScript y PDF, lo que lleva al apodo de Display PDF . La aplicación Vista previa puede mostrar archivos PDF, al igual que la versión 2.0 y posteriores del navegador web Safari . La compatibilidad a nivel de sistema con PDF permite que las aplicaciones macOS creen documentos PDF automáticamente, siempre que admitan la arquitectura de impresión estándar del sistema operativo. Luego, los archivos se exportan en formato PDF 1.3 de acuerdo con el encabezado del archivo. Al tomar una captura de pantalla en las versiones 10.0 a 10.3 de Mac OS X, la imagen también se capturó como PDF; las versiones posteriores guardan las capturas de pantalla como un archivo PNG, aunque este comportamiento se puede volver a configurar en PDF si se desea.
Adobe Acrobat es un ejemplo de software propietario que permite al usuario anotar, resaltar y agregar notas a archivos PDF ya creados. Una aplicación UNIX disponible como software libre (bajo la Licencia Pública General GNU ) es PDFedit . El freeware Foxit Reader , disponible para Microsoft Windows, macOS y Linux, permite anotar documentos. El PDF-XChange Viewer de Tracker Software permite anotaciones y marcas sin restricciones en su alternativa de freeware . El visor de PDF integrado de macOS de Apple , Preview, también permite anotaciones al igual que el software de código abierto Skim , y este último admite la interacción con LaTeX , SyncTeX y PDFSync y la integración con el software de gestión de referencias BibDesk . El freeware Qiqqa puede crear un informe de anotaciones que resume todas las anotaciones y notas que uno ha hecho en su biblioteca de PDF. La herramienta de verificación de texto exporta diferencias en los documentos como anotaciones y marcas.
También existen sistemas de anotación web que admiten la anotación en PDF y otros formatos de documentos. En los casos en los que se espera que los PDF tengan todas las funciones de los documentos en papel, se requiere la anotación con tinta.
El énfasis de PDF en preservar la apariencia visual de los documentos en diferentes plataformas de software y hardware plantea desafíos para la conversión de documentos PDF a otros formatos de archivo y la extracción dirigida de información , como texto, imágenes, tablas, información bibliográfica y metadatos de documentos . Numerosas herramientas y bibliotecas de código fuente respaldan estas tareas. Existen varios conjuntos de datos etiquetados para probar las herramientas de conversión de PDF y extracción de información y se han utilizado para evaluaciones comparativas del rendimiento de la herramienta. [84]
La especificación de papel Open XML es un formato competitivo que se utiliza tanto como lenguaje de descripción de páginas como formato de administrador de impresión nativo para Microsoft Windows desde Windows Vista .
Objeto mixto: la arquitectura de contenido de documentos es un formato competitivo. MO:DCA-P es parte de la presentación de funciones avanzadas .
Ejemplo: ISO/IEC 29500, ISO/IEC 26300 e ISO 32000 para formatos de documentos, información de referencia a la que no tienen acceso todas las partes (referencias a tecnología y marcas registradas, alcance incompleto o enlaces web inactivos).
XFA no será un estándar ISO por ahora. El Comité insta a Adobe Systems a enviar la Especificación XFA, XML Forms Architecture (XFA), a ISO para su estandarización El Comité está preocupado por la estabilidad de la especificación XFA La Parte 2 hará referencia a XFA 3.1
la implementación del estándar U3D no fue completa y se utilizaron extensiones propietarias.
{{cite web}}
: CS1 maint: URL no apta ( enlace ){{cite web}}
: CS1 maint: URL no apta ( enlace ){{cite conference}}
: CS1 maint: URL no apta ( enlace ){{cite web}}
: CS1 maint: URL no apta ( enlace ){{cite web}}
: CS1 maint: URL no apta ( enlace )Poppler es una biblioteca de renderizado de PDF basada en el código base xpdf-3.0.
Xpdf tiene licencia GNU General Public License (GPL), versión 2 o 3.
Para cualquier persona interesada en tener su proyecto gráfico impreso comercialmente directamente desde archivos digitales o PDF.
{{cite web}}
: CS1 maint: URL no apta ( enlace )