Por Gustavo Sánchez Muñoz, septiembre de 2006
Introducción
Como un un pdf es un fichero que sigue unas reglas determinadas en su estructura, cualquier procedimiento de construcción de ficheros que sea capaz de observar esas reglas podrá crear PDFs.
La calidad de los PDFs resultantes dependerá de cuáles sean los criterios usados para construirlos y de las necesidades que tenga el usuario final. No es igual de fácil crear un PDF para ver en pantalla e imprimir en aparatos caseros, que hacer uno destinado a imprenta comercial en cuatricromía, por ejemplo (donde los requisitos son más estrictos).
Hacer una lista de los métodos y programas capaces de crear PDFs y de sus posibilidades es una misión imposible: cada día hay más y su calidad es mejor (por no decir que las especificaciones del formato también avanzan).
Por eso, esta página no pretende ser una lista, sino sólo mencionar los principales programas que el usuario medio de artes gráficas, principalmente diseñadores gráficos, tiene a su disposición para cear PDFs válidos para imprenta.
Su origen es una página creada hace pocos años Laurens Leurs para su PDF Corner, que me permitió traducir y publicar en español. En esta revisión, he aprovechado lo que he podido de aquel original. Espero que sirva para hacerse una idea de cómo está la situación general, sobre todo en lo que respecta a crear PDFs para artes gráficas.
Formas de crear PDFs
Programas capaces de crear PDFs por si mismos.
Cada día hay más programas que son capaces de crear directamente PDFs sin necesidad de añadidos (plug-ins) o terceros programas (como Acrobat Distiller).
Estos programas se pueden dividir en dos categorías: Aquellos cuyos PDFs son de alta calidad y los que simplemente crean PDFs.
Los primeros suelen ser programas relacionados con las artes gráficas, donde los requisitos son más exigentes y estrictos. Por eso sus fabricantes han incluido librerías de programación para PDF bastante complejas. Los más destacados son InDesign, Illustrator, Photoshop, PageMaker, FrameMaker (de Adobe), CorelDraw,o Freehand. También hay algunos de código abierto que comienzan a abrirse camino, como Scribus. En sus versiones más recientes, la mayoría de ellos son capaces de crear directamente PDFs conforme a los estándares PDF/X.
Los segundos suelen ser programas del mundo ofimático, donde las necesidades son menores e interesan más capacidades como las de crear PDFs ligeros o indexables.
En ambos casos, hay que tener en cuenta que no es intención de los programadores crear programas cuyo formato nativo sea PDF, ya que no es un formato pensado para la reedición.
-
Programas que se usan para crear PDFs a partir de otros programas
Son programas cuya finalidad es tomar documentos de otras aplicaciones y crear PDFs a partir de ellos. La mayoría funcionan como impresoras virtuales; es decir: Programas que simulan ser impresoras y que imprimen PDFs. De hecho, algunos de ellos son casi simples controladores de impresora.
Otros son verdaderos intérpretes PostScript y otros funcionan como servidores de impresión, capaces de procesar gran cantidad de documentos de diverso origen para crear PDFs de forma automatizada.
Como en el caso de los programas capaces de generar PDFs por si mismos, podemos dividirlos en dos categorías: Aquellos cuyos PDFs son de alta calidad y los que simplemente crean PDFs. En cada caso, hay dos subcategorías: Los que funcionan de forma aislada en un ordenador (como programa o como controlador de impresión) y los que hacen de servidores para crear PDFs.
En la primera categoría, se encuentran programas como Acrobat Distiller, Jaws PDF Creator, SpeedFlow Check y Asura (ambos de OneVision), a Colour Chameleon o Nitro PDF. De ellos, destacaría Acrobat Distiller, por ser el más extendido entre todo tipo de usuarios profesionales, y Asura, por ser una solución de alto nivel para artes gráficas.
En la segunda categoría, se encuentran utilidades como GhostScript, PDFCreator, CutePDF, Primo PDF, PDF995, eDocPrinter. Muchos de ellos son shareware o pertenecen a la corriente de código abierto.
Antiguamente existía PDFWriter, de la propia Adobe, pero hoy se puede considerar desaparecido.
Sistema OS X de Apple
Mención aparte merece el sistema OS X de Apple,que incluye un modelo de representación visual llamado Quartz 2D que, entre otras cosas, permite convertir PostScript a PDF directamente desde el mismo sistema a todos los programas. Si un programa incluye capacidades PDF pertenecientes a las últimas especificaciones de ese formato, es posible que la versión de Quartz 2D que haya en el sistema no sea capaz de generar el PDF adecuadamente.
-
Servicios de creación de PDF en línea
Existen algunos sitios web que gratuitamente o a cambio de una cuota de suscripción, permiten crear PDFs a través de Internet: Se carga el fichero original al servidor y éste devuelve el PDF. Dos servicios así que existen en la actualidad son PDF Online (de la firma BCL Technologies) y Create Adobe PDF Online, de la propia Adobe. Sobre la calidad y rapidez del servicio no tengo referencias de momento.
-
Herramientas de programación para crear PDFs
-
Librerías de código
Existen unas cuantas librerías y herramientas de programación que permiten incluir la capacidad de crear ficheros PDF en diversos programas. Como en el caso de los programas, cada vez hay más y es imposible describirlas a todas. Las más destacables desde el punto de vista de las artes gráficas (aparte de las que usa la propia Adobe) son Jaws PDF Library (esta es la opción elegida por Quark para poder crear PDFs directamente con Quark XPress a partir de su versión 6) y PDFlib.
-
Clases PHP
Además de las funciones para crear o tratar PDFs que se incluyen en las últimas versiones del lenguaje PHP, existen algunas clases en lenguaje PHP para poder generar PDFs sobre la marcha en sitios web. En sistemas de gestión de contenido (como Drupal, usado en este mismo sitio web) eso es bastante útil. Dos ejemplos de esas clases son FPDF y TCPDF. Las posibilidades de creación de estas clases es bastante limitada, como su calidad final.
-
Crear PDFs a partir de XML
Mediante un vocabulario especializado para formateo de objetos con hojas de estilo XSL-FO, es posible crear directamente PDFs a partir de datos XML, que son absolutamente independientes de ese formato.
La potencia de esta vía XSL-FO es grande, sobre todo en lo que a formateo y entrega instanea de datos se refiere. Cada vez hay más productos que permiten crear o tratar las reglas necesarias para ese formateo mediante XSL-FO (Visual Stylesheet Designer de Altova o XEP Engine de RenderX, por ejemplo) o para generar los PDFs.
Ese es el caso del proyecto Apache FOP (Formatting Objects Processor), un formateador de datos basado en lenguaje Java capaz de generar PDFs (además de otros formatos).
-




Comentarios
Crear PDFs con Java
Eduardo me ha enviado muy amablemente un mensaje sobre la creación de PDFs con Java. Lo transcribo parcialmente:
Activo los comentarios
Veo que se me pasó la posibilidad de aportaciones externas. Gracias, Eduardo
Error de texto en PDFs generados con iText
Hola,
Te escribo porque pareces tener una buena idea de como funciona iText. Estoy generando un PDF con imágenes y texto para ser procesado por Asura, pero Asura reconoce el texto del PDF como tipo notes y no como tipo text.
¿Hay alguna forma de corregir este problema al momento de generar el PDF con iText?
Saludos y gracias por adelantado por la ayudas que puedas brindarme.
Drewman