El formato de documento portátil ( PDF ), estandarizado como ISO 32000 , es un formato de archivo desarrollado por Adobe en 1992 para presentar documentos , incluidos formatos de texto e imágenes, de manera independiente del software , hardware y sistemas operativos de la aplicación . [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. El PDF tiene sus raíces en "El Proyecto Camelot" iniciado por el cofundador de Adobe, John Warnock, en 1991. [4] El PDF se estandarizó como ISO 32000 en 2008. [5] La última edición como ISO 32000-2:2020 se publicó en diciembre 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, medios enriquecidos (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 permitir flujos de trabajo que requieran estas funciones.
El desarrollo de PDF comenzó en 1991 cuando John Warnock escribió un artículo para un proyecto cuyo nombre en código era 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 se centraba estrechamente en representar trabajos de impresión en dispositivos de salida, IPS estaría optimizado para mostrar páginas en cualquier pantalla y plataforma. [6]
Adobe Systems puso a disposición la especificación PDF de forma gratuita en 1993. En los primeros años, el PDF era popular principalmente en los flujos de trabajo de autoedición y competía con varios otros formatos, incluidos DjVu , Envoy , Common Ground Digital Paper, Farallon Replica e incluso el propio PostScript de Adobe. formato.
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 del especificación pasada a un comité ISO de expertos voluntarios de la industria. En 2008, Adobe publicó una licencia de patente pública según ISO 32000-1 que otorga 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 patentadas definidas únicamente por Adobe, como Adobe XML Forms Architecture (XFA) y la extensión JavaScript para Acrobat, a las que ISO 32000-1 hace referencia como normativo e indispensable para la plena implementación de la especificación ISO 32000-1. [10] Estas tecnologías patentadas no están estandarizadas y sus especificaciones se publican únicamente en el sitio web de Adobe. [11] [12] [13] Muchos de ellos no son compatibles con implementaciones populares de PDF de terceros.
ISO publicó la norma ISO 32000-2 en 2017, disponible para su compra, que reemplaza 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 a las referencias normativas [15] (ISO 32000-2 no incluye ninguna tecnología propietaria como Referencias normativas). [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 en 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 incrustado 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 se diseñó originalmente para un caso de uso drásticamente diferente : transmisión de trabajos de impresión lineal unidireccional en los que el intérprete de PostScript recopilaba una serie de comandos hasta encontrar el showpage
comando y luego ejecutaba todos los comandos para representar una página como una imagen rasterizada. un dispositivo de impresión. [17] PostScript no estaba diseñado 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 admitir nada más que la representación consecutiva de páginas. [17] Si hubiera un error en la salida impresa final, el usuario lo corregiría en el nivel de la 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 representarse con precisión sólo como el resultado acumulativo de ejecutar todos los comandos anteriores para dibujar todas las páginas anteriores (cualquiera de las cuales podría afectar las páginas posteriores) más los comandos para dibujar esa página en particular, y no había Una forma sencilla de evitar ese proceso para pasar a diferentes páginas. [17]
Tradicionalmente, para pasar de PostScript a PDF, se utiliza un archivo PostScript fuente (es decir, un programa ejecutable) como base para generar código PDF similar a PostScript (ver, por ejemplo, Adobe Distiller ). Esto se hace aplicando técnicas de compilación estándar como desenrollado de bucles , inserción y eliminación de ramas no utilizadas, lo que da como resultado un código puramente declarativo y estático. [17] El resultado final luego 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:
PDF desde v1.6 admite la incrustación de documentos 3D interactivos: los dibujos 3D se pueden incrustar 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 hexadecimal 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 con el prefijo del 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 otras secuencias) también pueden ubicarse en secuencias especiales conocidas como secuencias de objetos (marcadas /Type /ObjStm
). Esta técnica permite que a los objetos que no son de secuencia se les apliquen filtros de secuencia estándar, reduce el tamaño de los archivos que tienen una gran cantidad de pequeños objetos indirectos 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 referencias cruzadas, se encuentra cerca del final del archivo y proporciona el desplazamiento de 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, estaría marcada con la xref
palabra clave y seguiría el cuerpo principal compuesto de objetos indirectos. La versión 1.5 introdujo flujos de referencia cruzada opcionales , que tienen la forma de un objeto de flujo estándar, posiblemente con filtros aplicados. Este flujo se puede utilizar en lugar de la tabla de referencias cruzadas ASCII y contiene los desplazamientos y otra información en formato binario. El formato es flexible porque permite la especificación del ancho de números enteros (usando la /W
matriz), de modo que, por ejemplo, un documento que no exceda los 64 KiB de tamaño puede dedicar solo 2 bytes para 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 referencias cruzadas (comenzando con la xref
palabra clave) o el objeto de flujo de referencias cruzadas, seguido de%%EOF
de fin de archivo .Si no se utiliza una secuencia 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 de secuencia 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 , similar a PostScript. [25]
Hay dos diseños para los archivos PDF: no linealizado (no "optimizado") y linealizado ("optimizado"). Los archivos PDF no linealizados pueden ser más pequeños que sus homólogos lineales, aunque su acceso es más lento porque partes de los datos necesarios para ensamblar las páginas del documento se encuentran dispersas por todo el archivo PDF. Los archivos PDF linealizados (también llamados archivos PDF "optimizados" u "optimizados para la web") se construyen de una manera que permite leerlos en un complemento del navegador web sin esperar a que se descargue el archivo completo, ya que todos los objetos necesarios para la primera página a mostrar 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 por 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 sesgar elementos gráficos. Un concepto clave en PDF es el de estado de los 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 rutas . Los trazados suelen estar compuestos por líneas y curvas cúbicas de Bézier , pero también pueden construirse 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 los 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 obra de arte se dibujará repetidamente. 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 hasta el 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 (llamadas Image XObjects ) están representadas por diccionarios con una secuencia asociada. El diccionario describe las propiedades de la imagen y la secuencia contiene los datos de la imagen. (Con menos frecuencia, las imágenes rasterizadas pequeñas se pueden incrustar directamente en la descripción de una página como una imagen en línea ). Las imágenes generalmente se filtran con fines de compresión. Los filtros de imagen admitidos en PDF incluyen los siguientes filtros de uso general:
Normalmente, todo el contenido de la imagen en un PDF está incrustado en el archivo. Pero 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 está representado por elementos de texto en flujos de contenido de la página. Un elemento de texto especifica que los caracteres deben dibujarse en determinadas posiciones. Los caracteres se especifican utilizando la codificación de un recurso de fuente seleccionado .
Un objeto de fuente en PDF es una descripción de un tipo de letra digital . Puede describir las características de un tipo de letra 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 fuentes 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 Tipo 3 en la que los operadores gráficos de PDF describen los componentes de la fuente.
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 pueden sustituirse si no están incrustadas en un PDF.
Dentro de las cadenas de texto, los caracteres se muestran mediante códigos de caracteres (enteros) que se asignan a glifos en la fuente actual mediante una codificación . Hay varias codificaciones predefinidas, incluidas WinAnsi , MacRoman y muchas codificaciones para idiomas del este de Asia, 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 a utilizar, la codificación incorporada de la fuente o proporcionar una tabla de búsqueda de diferencias con una codificación predefinida o integrada (no recomendado con fuentes TrueType). [2] Los mecanismos de codificación en PDF se diseñaron para fuentes Tipo 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 vertical). Con este tipo de fuentes, es necesario proporcionar una tabla ToUnicode si se quiere conservar la información semántica sobre los caracteres.
Un documento de texto que se escanea a PDF sin que el texto sea reconocido mediante 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 imágenes se amplió para permitir la transparencia. Cuando se utiliza la transparencia, los objetos nuevos interactúan con objetos previamente marcados para producir efectos de fusión. La adición de transparencia a PDF se realizó mediante nuevas extensiones que fueron diseñadas para ser ignoradas en productos escritos en PDF 1.3 y especificaciones anteriores. Como resultado, los archivos que usan una pequeña cantidad de transparencia pueden ser vistos aceptablemente por espectadores mayores, pero los archivos que usan mucha transparencia pueden ser vistos incorrectamente por un espectador mayor.
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 han sido publicados. [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 son significativas al editarlos, pero no forman parte del modelo de imagen.
Un PDF etiquetado (consulte la cláusula 14.8 de ISO 32000) incluye la estructura del documento y la información semántica para permitir una extracción de texto confiable y accesibilidad . [30] Técnicamente hablando, PDF etiquetado es un uso estilizado del formato que se basa en el marco de estructura lógica introducido en PDF 1.3. PDF etiquetado define un conjunto de tipos de estructuras y atributos estándar que permiten extraer y reutilizar el contenido de la página (texto, gráficos e imágenes) para otros fines. [31]
El PDF etiquetado no es necesario en situaciones en las que un archivo PDF está destinado únicamente a impresión. Dado que la función es opcional y que las reglas para PDF etiquetados eran relativamente vagas en ISO 32000-1, la compatibilidad con PDF etiquetados entre los dispositivos de consumo, incluida la tecnología de asistencia (AT), es desigual a partir de 2021. [32] ISO 32000-2 , sin embargo, incluye una discusión mejorada sobre PDF etiquetado que se anticipa facilitará una mayor adopción.
En 2012 se publicó por primera vez un subconjunto de PDF estandarizado ISO específicamente dirigido a la accesibilidad, PDF/UA .
Con la introducción de la versión 1.5 (2003) de PDF surgió el concepto de Capas. Las capas, conocidas más formalmente como grupos de contenido opcionales (OCG), se refieren a secciones de contenido en 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 agregado a la raíz del documento. Este diccionario contiene una serie 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 proporcionan el estado (mostrado o suprimido) del dados OCG.
Un archivo PDF puede estar cifrado , por 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 estándar para archivos PDF 2.0. La Referencia de PDF también define formas en que terceros pueden definir sus propios sistemas de cifrado para PDF.
Los archivos PDF pueden estar firmados digitalmente para proporcionar una autenticación segura; Los detalles completos sobre la implementación de firmas digitales en PDF se proporcionan en ISO 32000-2.
Los archivos PDF también pueden contener restricciones DRM integradas que brindan controles adicionales que limitan la copia, edición o impresión. Estas restricciones dependen del software lector para obedecerlas, 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 cifra el archivo e impide su apertura, y una contraseña de propietario , que especifica las operaciones que deben restringirse incluso cuando el documento está descifrado, que puede 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 del usuario cifra el archivo, mientras que la contraseña del propietario no, sino que depende del software del cliente para respetar estas restricciones. La contraseña de propietario se puede eliminar fácilmente mediante software, incluidos algunos servicios gratuitos en línea. [33] Por lo tanto, las restricciones de uso que el autor de un documento impone a un documento PDF no son seguras y no pueden garantizarse una vez que el archivo se distribuye; 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 con 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 mediante criptografía de clave pública . Adobe Reader verifica que la firma utilice un certificado de una autoridad certificadora autorizada por Adobe. Cualquier aplicación PDF puede utilizar este mismo mecanismo para sus propios fines. [37]
En circunstancias específicas, incluidos los sistemas del receptor sin parches , 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 e ISO 32000-1 [39] que lo hacen adecuado para firmas electrónicas avanzadas . Esto lo publica 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, fechas de creación y actualización. Esto es opcional y se hace referencia a él desde una Info
clave en el final 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ó soporte para flujos de metadatos, utilizando la plataforma de metadatos extensible (XMP) para agregar metadatos extensibles basados en estándares XML como se usan 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 el documento completo (adjuntado 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 visualización de la página y el nivel de zoom en un objeto de Preferencias del visor. Adobe Reader utiliza esta configuración para anular la configuración predeterminada 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 utilizados 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 redistribuir y ampliar para lectores con discapacidad visual. Agregar etiquetas a archivos PDF más antiguos y a aquellos generados a partir de documentos escaneados puede presentar algunos desafíos.
Uno de los desafíos importantes con la accesibilidad de PDF es que los documentos PDF tienen tres vistas distintas que, dependiendo de la creación del documento, pueden ser inconsistentes 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 la gente considera un documento PDF). La vista de etiquetas es lo que utilizan los lectores de pantalla y otras tecnologías de asistencia para brindar una experiencia de navegación y lectura 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 sea totalmente compatible con la vista de etiquetas, como la función Reflujo en 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 vídeo o botones. Por ejemplo, si el PDF interactivo es un catálogo digital para una empresa de comercio electrónico, los productos se pueden enumerar en las páginas del PDF y se pueden agregar imágenes y enlaces al sitio web y botones para realizar pedidos directamente desde el documento.
Formularios interactivos es un mecanismo para agregar formularios al formato de archivo PDF. Actualmente, PDF admite dos métodos diferentes para integrar datos y formularios PDF. Ambos formatos coexisten hoy en la especificación PDF: [37] [52] [53] [54]
AcroForms se introdujeron en formato PDF 1.2. AcroForms permite el uso de objetos ( por ejemplo, cuadros de texto , botones de radio , etc. ) y algo de código ( por ejemplo, JavaScript). Además de los tipos de acciones estándar de PDF, los formularios interactivos (AcroForms) permiten enviar, restablecer e importar datos. La acción "enviar" transmite los nombres y valores de los campos del formulario interactivo seleccionados a un localizador uniforme de recursos (URL) especificado. Los nombres y valores de los campos del 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 del 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 derechos para importar archivos de datos de formularios en formatos FDF, XFDF y 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; Arquitectura de formularios Adobe XML (XFA). Adobe XFA Forms no es compatible con la función AcroForms de ISO 32000 y la mayoría de los procesadores de PDF no manejan contenido XFA. Se hace referencia a la especificación XFA en ISO 32000-1/PDF 1.7 como una especificación patentada externa y quedó completamente obsoleta en 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 concede 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 en Bochum y Hackmanit GmbH publicaron ataques a archivos PDF firmados digitalmente. [61] Mostraron cómo cambiar el contenido visible en un PDF firmado sin invalidar la firma en 21 de 22 visores de PDF de escritorio y 6 de 8 servicios de validación en línea mediante el abuso de fallas de implementación. En la misma conferencia, también mostraron cómo filtrar el texto sin formato de contenido cifrado en archivos PDF. [62] En 2021, mostraron nuevos ataques en la sombra a archivos PDF que abusan de la flexibilidad de las funciones proporcionadas en la especificación. [63] Jens Müller presentó una descripción general de los problemas de seguridad en los archivos PDF relacionados con la denegación de servicio , la divulgación de información , la manipulación de datos y los ataques de ejecución de código arbitrario . [64] [65]
Los archivos PDF pueden estar infectados con virus, troyanos y otro malware. Pueden tener código JavaScript oculto que podría explotar las vulnerabilidades de un PDF, objetos ocultos ejecutados cuando se abre el archivo que los oculta y, con menos frecuencia, un PDF malicioso puede lanzar malware. [66]
Los archivos adjuntos PDF 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 adjunto de Adobe. 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 correcciones de seguridad. Otros lectores de PDF también son susceptibles. Un factor agravante es que se puede configurar un lector de PDF para que se inicie automáticamente si una página web tiene un archivo PDF incrustado, lo que proporciona un vector de ataque. Si una página web maliciosa contiene un archivo PDF infectado que aprovecha 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 del estándar PDF que permite escribir documentos PDF con JavaScript. Deshabilitar la ejecución de JavaScript en el lector de PDF puede ayudar a mitigar dichos ataques futuros, aunque no protege contra ataques 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 desactivar JavaScript supera cualquier problema de compatibilidad causado. [69] Una forma de evitar vulnerabilidades en archivos PDF es hacer que un servicio web o local convierta los archivos a otro formato antes de verlos.
El 30 de marzo de 2010, el investigador de seguridad Didier Stevens informó sobre un exploit de Adobe Reader y Foxit Reader que ejecuta un ejecutable malicioso si el usuario permite que se inicie cuando se le solicita. [70]
Muchos visores de PDF se proporcionan de forma gratuita desde una variedad de fuentes. Hay programas disponibles para manipular y editar archivos PDF, generalmente a la venta.
Existen muchas opciones de software para crear archivos PDF, incluidas las capacidades de impresión de PDF integradas en macOS , iOS , [71] y la mayoría de las distribuciones de Linux . Gran parte del software de procesamiento de documentos, incluido LibreOffice , Microsoft Office 2007 (si se actualiza a SP2 ) y versiones posteriores, [72] WordPerfect 9 y Scribus , pueden exportar documentos en formato PDF. Hay muchos controladores de impresión PDF para Microsoft Windows, el sistema tipográfico pdfTeX , las herramientas DocBook PDF, aplicaciones desarrolladas en torno a Ghostscript y el propio Adobe Acrobat , así como Adobe InDesign , Adobe FrameMaker , Adobe Illustrator, Adobe Photoshop, que permiten una "impresora PDF". para configurar, que cuando se selecciona envía la salida a un archivo PDF en lugar de a una impresora física. La suite ofimática 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 gratuitos, de alta calidad y completamente funcionales que implementan el formato de archivo PDF y las tecnologías asociadas según el estándar ISO 32000", como uno de sus proyectos de alta prioridad . [73] [74] En 2011, sin embargo, 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 el código base Xpdf [76] [77] . También hay bibliotecas de desarrollo comerciales disponibles que se enumeran en Lista de software PDF .
El proyecto Apache PDFBox de Apache Software Foundation es una biblioteca Java de código abierto, con licencia Apache , para trabajar con documentos PDF. [78]
Los procesadores de imágenes rasterizadas (RIP) se utilizan para convertir archivos PDF a un formato rasterizado adecuado para generar imágenes en papel y otros medios en impresoras, imprentas 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 Harlequin RIP 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 reemplaza la problemática necesidad de recibir archivos de trabajo nativos recopilados.
En 2006, PDF fue ampliamente aceptado como formato de trabajo de impresión estándar en la Cumbre de Impresión de Open Source Development Labs . Es compatible como formato de trabajo de impresión con el sistema de impresión Common Unix y 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.
Se seleccionó PDF como formato de metarchivo "nativo" para macOS (originalmente llamado Mac OS X), reemplazando el formato PICT del Mac OS clásico anterior . El modelo de imagen de la capa de gráficos Quartz se basa en el modelo común para Display PostScript y PDF, lo que lleva al apodo 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 según 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 gratuito (bajo la Licencia Pública General GNU ) es PDFedit . El software gratuito Foxit Reader , disponible para Microsoft Windows, macOS y Linux, permite anotar documentos. PDF-XChange Viewer de Tracker Software permite anotaciones y marcas sin restricciones en su alternativa gratuita . 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 software gratuito Qiqqa puede crear un informe de anotaciones que resuma todas las anotaciones y notas que uno ha realizado en su biblioteca de archivos PDF. La herramienta de verificación de texto exporta diferencias en documentos como anotaciones y marcas.
También existen sistemas de anotación web que admiten anotaciones en pdf y otros formatos de documentos. En los casos en los que se espera que los archivos PDF tengan todas las funciones de los documentos en papel, se requieren anotaciones en tinta.
El énfasis del 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 específica 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 la conversión de PDF y las herramientas de 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 como lenguaje de descripción de páginas y como formato de cola de impresión nativo para Microsoft Windows desde Windows Vista .
Objeto mixto: la arquitectura de contenido del documento 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 información de referencia de formatos de documentos a la que no todas las partes pueden acceder (referencias a tecnología patentada y nombres de marcas, alcance incompleto o enlaces web inactivos).
XFA aún no será el estándar ISO. El Comité insta a Adobe Systems a enviar la especificación XFA, Arquitectura de formularios XML (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}}
: Mantenimiento CS1: URL no apta ( enlace ){{cite web}}
: Mantenimiento CS1: URL no apta ( enlace ){{cite conference}}
: Mantenimiento CS1: URL no apta ( enlace )Poppler es una biblioteca de renderizado de PDF basada en el código base xpdf-3.0.
Xpdf tiene la licencia GNU General Public License (GPL), versión 2 o 3.
Para cualquier persona interesada en imprimir comercialmente su proyecto gráfico directamente desde archivos digitales o PDF.
{{cite web}}
: Mantenimiento CS1: URL no apta ( enlace )