3. CAPITULO_3- ANTECEDENTES_I

Anuncio
Capítulo 3
Antecedentes I: Estado del arte
3.1.
El documento electrónico
Con la llegada de la era de la tecnología digital y la extensión masiva del uso de redes
informáticas tanto en el ámbito de negocio como el particular, el papel ha sido relegado
como método por excelencia para el almacenamiento y transmisión de la información para
dar paso al documento electrónico [41].
Según Michael Buckland 1 , un documento se define como un contenedor de información [39],
es decir, todo aquello que permite organizar, presentar y gestionar información relativa a
una temática determinada. Así, un documento se califica como electrónico si se encuentra
físicamente almacenado en un dispositivo electrónico o unidad externa de un dispositivo de
este tipo, comprensible sin ningún procesamiento adicional, excepto la representación de las
propias páginas.
Hoy en día es más que habitual que cualquier tipo de documento (cartas, facturas, libros,
etc.) tenga su origen en un medio informático previo a su impresión y que se haga llegar,
gracias a su formato digital, a través de la red telemática a múltiples destinatarios en un
tiempo muy reducido, empleando por ejemplo el correo electrónico o e-mail. La ubicuidad
de este tipo de documentos provoca que cada vez sean más numerosas las técnicas para la
gestión de documentos electrónicos y que la demanda de calidad sea más exigente.
Los documentos electrónicos pueden agruparse en dos grandes bloques: los de formato de
texto y los de formato de audio. En este estudio nos centraremos en el primero de estos
grupos, si bien es cierto que los avances en la tecnología hacen que cada vez más se diluyan
las fronteras entre ambos en el llamado formato multimedia.
En general, los documentos electrónicos con formato de texto más habituales usan códigos
de 8 bits ya sean ASCII o ANSI/ISO y se dividen a su vez en dos categorías: de texto plano
y texto estructurado [17]:
1 Licenciado
en computación. Profesor Instructor de la Universidad de Berkeley.
12
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
13
Documentos de texto plano
Los textos generados por las aplicaciones procesadoras de texto más corrientes como
Block de notas, WordPerfect o Microsoft Word, se presentan en texto plano. Entre sus
inconvenientes destacan su limitada capacidad para navegar entre los elementos del
texto y su estructura diseñada para la lectura secuencial, dado que las posibles marcas
que puedan contener no sirven para indicar la estructura conceptual del documento.
Todas estas características y el hecho de que no se ha llegado a desarrollar un estándar
sobre las marcas de formato a usar y que además, son textos generados por aplicaciones
propietarias, los hacen no adecuados para la publicación digital. Así, los formatos RTF
(Rich Text Format) y DOC del MS Word se crean con aplicaciones concretas y por lo
tanto, no tienen la universalidad que se requiere en el mercado actual.
Documentos de texto estructurado
Los textos estructurados, a diferencia de los textos planos, contienen datos que permiten su manipulación automática, es decir, su transformación con distintos fines,
como por ejemplo visualización en pantalla, impresión, traducción a otro idioma, lectura en voz sintética o incluso su conversión a Braille. Para afrontar estos objetivos,
los textos estructurados añaden "marcas" o "etiquetas" que aportan información más
allá del propio contenido. Estas marcas informan de la función de un determinado
fragmento dentro del documento como por ejemplo título, autor, párrafo, elemento de
una lista, nota a pie de página, etc. Como es comprensible, las marcas pueden ser de
múltiples tipos en función del objetivo que se le destine al documento y de ahí que se
hayan desarrollado diversos sistemas. Entre estos sistemas destacan PDF y SGML
(XML, HTML y XHTML) que se han impuesto en la publicación electrónica actual.
• SGML (Standard Generalized Markup Language)
SGML es un estándar ISO que surgió en 1986 [40]. Presenta dos características
fundamentales:
◦ Se define como un meta lenguaje. Esto es, es un lenguaje que describe la
sintaxis para los distintos tipos de marcado o etiquetado que se necesiten y
no un lenguaje de marcado único para cualquier tipo de texto. Así, el meta
lenguaje se emplea para definir cada uno de los lenguajes dentro de SGML.
Esta descripción de cada lenguaje se llama DTD (Document Type Definition)
y debe ser conocida por las aplicaciones que manipulen documentos SGML
para tener conocimiento de las etiquetas a reconocer y las normas a seguir
para el marcado. El marcado flexible de SGML es una gran ventaja sobre el
rígido, dado que permite el uso de lenguajes muy simples para documentos
con estructura sencilla y lenguajes complejos para documentos más complicados.
◦ Define la separación de la estructura del documento de su representación en
cada dispositivo. Los aspectos relacionados con la representación del documento no deben definirse en la DTD puesto que el dispositivo final que el
usuario emplee para acceder al documento es desconocido a priori. Así, si se
desea alterar la presentación por defecto, se deben emplear "hojas de estilo"
cuyos estándares no se engloban dentro de SGML.
Estas características han provocado que SGML haya triunfado a nivel empresarial, académico y militar. Entre sus aplicaciones destaca World Wide Web (WWW)
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
14
que constituye la causa primera del éxito de Internet. Para la creación de páginas
Web se emplea el lenguaje de marcado HTML (HyperText Markup Language)
que es una variante especial de SGML. Se dice que es una variante especial porque
no cumple con algunas de las características más importantes de SGML. La razón
tiene su raíz en los orígenes de HTML, cuando los creadores de WWW y HTML
(hoy agrupados en el consorcio WWW o W3 Consortium [13]) evitaron el uso
de DTD´s y hojas de estilo para conseguir la mayor simplificación posible. Así,
los estándares de HTML desde las versiones 1.0 a 4.0 permiten el etiquetado de
tanto información estructural como de estilo, lo que viola uno de los principios
fundamentales de SGML. Sin embargo, HTML se ha consagrado como el formato
principal para textos digitales.
Para conseguir recuperar las cualidades de SGML y sin perder la compatibilidad con los contenidos ya existentes en WWW, W3 desarrolló XML (eXtensible
Markup Language) [14]. Desde este momento, los navegadores o programas que
manipulen documentos XML deben validar la corrección de su sintaxis, empleando la DTD del lenguaje2 si es necesario, y presentar los contenidos siguiendo las
hojas de estilo. Entorno a XML surgen el lenguaje XSL (eXtensible Stylesheet
Language) para la definición de estas hojas de estilo y CSS (Cascading Style
Sheets) u hojas de estilo en cascada, con las que se puede mantener la compatibilidad con las viejas normas HTML. La versión de HTML 5.0, XHTML, se define
usando ya XML.
Dentro de la familia XML han surgido múltiples lenguajes, entre los que señalamos Open-eBook y DAISY [15].
• PDF (Portable Document Format)
Portable Document Format es el formato creado por Adobe System para el intercambio de documentos en 1993 [7, 18]. Adobe constituye una de empresas más
importantes en la provisión de software en el mercado editorial. Su principal éxito
consiste en haber conseguido que sus formatos se hayan erigido como estándares
de hecho en todo el mundo. En primer lugar, PostScript se impuso como formato
de impresión en papel de alta calidad y posteriormente PDF, que abarca la impresión en papel y la visualización de documentos en cualquier dispositivo sin variar
sus características visuales, de ahí que se le denomine como formato "portable".
PDF proporciona la capacidad para poder visualizar cualquier documento de la
misma forma que si se hubiera empleado una impresora de alta calidad y además,
su definición como portable, indica su independencia de dispositivo, propio de los
formatos multiplataforma.
Dado que este proyecto se centra en este formato de documento electrónico en
concreto, se le dedica una sección especial a continuación.
3.2.
La tecnología PDF
Una vez que hemos situado PDF dentro del campo de los documentos electrónicos, se pasa
a analizar su tecnología y su estado actual en el mercado.
2 Para
poder ser publicados en WWW todas los lenguajes deben encontrarse definidos mediante su DTD.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
15
La incorporación de PDF como formato competitivo fue un proceso lento. A principio de los
años 90 tanto las herramientas de creación de PDF y las aplicaciones de visualización e impresión no se podían adquirir de forma gratuita. Además, PDF no soportaba los hiperenlaces
externos al documento, lo que reducía de forma considerable su utilidad en la Word Wide
Web, y el tamaño adicional de los documentos PDF en comparación con los textos planos
significaban tiempos de descarga considerablemente mayores y lentitud en la representación
en los dispositivos. Por otro lado, en el mercado existían formatos competitivos como Envoy,
Common Ground Digital Paper y el propio antecesor de PDF, el formato PostScript. Sin
embargo, con la libre distribución de Acrobat Reader (ahora Adobe Reader), el mantenimiento de la compatibilidad hacia atrás con el formato PDF original y los grandes avances
realizados en su tecnología, Portable Document Format es hoy por hoy, indiscutiblemente el
estándar de facto por excelencia para documentos imprimibles.
3.2.1.
Las capacidades de PDF
Entre las características de PDF se encuentran [18]:
Multiplataforma e independiente de dispositivo.
PDF puede visualizarse e imprimirse en cualquier plataforma: Macintosh, Microsoft
Windows, Unix y otras plataformas móviles.
Extensible
Más de 1.800 vendedores en todo el mundo ofrecen soluciones basadas en PDF como
la creación, plug-in, etc.
Fiable y de uso extendido
La existencia de más de 200 millones de documentos en la red actualmente, prueban
el gran número de usuarios y organizaciones que confían en PDF para el intercambio
de documentos.
Mantiene la integridad de la información
Un archivo PDF se muestra exactamente igual que el documento PDF original y preserva la información de la fuente como el texto, los gráficos, etc., independientemente de
la aplicación que se use para crearlos3 .
Seguridad en el mantenimiento de la información y restricciones de uso
La firma digital o la protección mediante password son métodos de consecución de
seguridad en PDF. Entre las técnicas permitidas se encuentran además, la encriptación
de 40 y 128 bits, ambas empleando sistemas complejos de RC4 y MD5, restricciones
DRM para la limitación y control de copiado, edición e impresión, y autenticación
y limitación de tiempo de acceso mediante las técnicas descritas en LiveCycle Policy
Server.
Navegable
Gran capacidad de búsqueda en documentos para la localización de palabras, bookmarks y campos de datos.
3 Este
proyecto se basa en la consecución estricta de esta propiedad al respecto de las fuentes o fonts.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
16
Accesible
Los documentos PDF cooperan con las tecnologías de asistencia para hacer accesible la
información a las personas con discapacidades. Así, los archivos PDF actuales pueden
incluir etiquetas (XML), descripciones de audio, etc.
Multimedia
Los documentos PDF admiten elementos multimedia (vídeos o sonidos), enlaces de
hipertexto (vínculos, marcadores y direcciones de correo) e incluir pequeñas miniaturas
de las distintas páginas.
Compactos
Mediante una serie de mecanismos y algoritmos de comprensión y gracias a su estructura ingeniosa, se reduce el tamaño de los documentos PDF al mínimo.
En cuanto a las tecnologías implicadas en PDF, cabe destacar lo siguiente. PDF combina
tres tecnologías:
Un subconjunto del lenguaje de programación de descripción de página PostScript.
Un sistema de incrustación de fuentes (font-embedding) que permite a las fuentes viajar
dentro de los documentos.
Un sistema de almacenamiento estructurado para la incorporación de todos los elementos auxiliares y contenidos en un único archivo, con compresión de datos.
Al respecto estas características se deben realizar una serie de comentarios.
PostScript es un lenguaje de descripción de página que se ejecuta en un intérprete para
generar una imagen y que necesita de varios recursos para dicho proceso. Sin embargo,
PDF es un formato de fichero, no un lenguaje de programación, aunque conserve los
comandos gráficos de PostScript.
PDF soporta la incrustación de fuentes. No es una capacidad obligatoria pero si deseable si se desea cumplir rigurosamente con su principio de mantenimiento de la
integridad. Un fichero PDF debe visualizarse en cualquier equipo manteniéndose invariables las propiedades con que fue generado, incluido el tipo de letra con que se
presentan los textos. Así, si las fuentes no se encuentran incrustadas dentro de un
fichero PDF, la visualización de los textos depende de la disponibilidad de dichas
fuentes en el equipo, lo que constituye una falta de precisión importante para el estándar para el intercambio de documentos más importante de la actualidad. Como
se analiza a continuación, existen múltiples aplicaciones propietarias con opciones de
incrustación de fuentes, como Adobe Distiller. Sin embargo, las soluciones en software
libre a este respecto son muy limitadas. Este proyecto proporciona una herramienta
alternativa open source para la solución de este problema.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
3.2.2.
17
El proceso de estandarización de PDF
En la actualidad, el formato PDF es un estándar abierto que se encuentra en vías estandarización ISO, el denominado ISO 32000 [42]. Hoy en día, las aplicaciones pueden crear
y leer archivos PDF sin tener que pagar royalties a Adobe Systems. Además, aunque Adobe
mantiene sus patentes sobre el formato, permite el desarrollo de software que se ajuste a la
especificación PDF. El formato PDF ha cambiado en ocho ocasiones: 1.0 (1993), 1.1 (1994),
1.2 (1996), 1.3 (1999), 1.4 (2001), 1.5 (2003), 1.6 (2005) y 1.7 (2006), que se corresponden
en el tiempo con las ocho versiones de Acrobat 1.0 a 8.0.
Sin embargo, desde comienzos de 2007, la situación de PDF está destinada a cambiar. El 29
de enero de 2007 Adobe anunció su intención de liberar la especificación de Portable Document Format 1.7 a AIIM (Enterprise Content Management Association), con el propósito de
ser publicado por International Organization for Standarization (ISO). Así, como parte de
este proceso, en la primavera de 2007 los expertos de Adobe en PDF han convertido la referencia PDF 1.7 Reference en otro documento de Adobe, el ISO Draft o borrador ISO. Este
borrador se basa en la plantilla de ISO y contempla los cambios que hacen que la referencia
de PDF sea conforme a las reglas de documentación ISO para los estándares internacionales.
Por otro lado, otros subconjuntos de PDF se encuentran en proceso o ya estandarizados por
ISO:
PDF/X para la impresión y las artes gráficas, se estandariza como ISO 15930 (en
proceso por ISO TC130).
PDF/A para el archivado de documentos en ambientes gubernamentales, corporativista y de biblioteconomía, se estandariza como ISO 19005 (realizado por ISO TC171).
PDF/E para el intercambio de gráficos de ingeniería (realizado por ISO TC171).
PDF/UA para el acceso universal de los archivos PDF.
Además, una variante para fines sanitarios, PDF/H (PDF for Healthcare), se encuentra
también en vías de desarrollo.
Sin duda, el proceso de estandarización ISO de PDF impulsará todavía más el desarrollo de
aplicaciones y el empleo de este formato en todo el mundo.
3.3.
Tipos y formatos de archivos de fuentes
Previo al análisis de la gestión de fuentes de PDF, es necesario realizar una breve descripción
y clasificación de las fuentes en el mundo de la computación actual.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
3.3.1.
18
Clasificación de archivos de fuentes
Lejos ya del antiguo término que relacionaba las fuentes con elementos mecánicos, una fuente
se define como un archivo de datos electrónicos que contiene un conjunto de glifos, caracteres
o símbolos. En la actualidad se definen tres grandes grupos de formatos de archivos de fuentes
para dispositivos electrónicos [44]:
Fuentes Bitmap
Las fuentes bitmap consisten en un conjunto de puntos y píxeles que representan la
imagen de un glifo para cada vista y tamaño. Sus ventajas principales se resumen en:
• Su representación es extremadamente simple y rápida.
• Sus fuentes no escaladas dan siempre como resultado exactamente la misma salida.
• Creación muy sencilla frente a sus competidoras.
El inconveniente principal que se le asocia a las fuentes bitmap es que su calidad
desciende de forma considerable cuando son escaladas o transformadas, comparado
con sus competidoras de tipos outlines y stroke que estudiaremos a continuación.
Su uso fue exclusivo en los primeros sistemas de computación por la limitación en potencia de procesado y memoria de éstos en sus comienzos. En la actualidad se pueden
encontrar en la consola de Linux, la consola de recuperación de Windows y sistemas integrados. Entre sus formatos de fuentes se encuentran Portable Compiled Font (PCF),
Glyph Bitmap Distribution Format (BDF), Server Normal Format (SNF), DECWindows Font (DWF), Sun X11/NeWS format (BF) , Microsoft Windows bitmapped font
(FON) , Amiga Font, ColorFont, AnimFont y ByteMap Font (BMF).
Fuentes Ouline
Las fuentes outlines emplean las curvas de Bézier y representan cada glifo mediante
instrucciones y fórmulas matemáticas que permiten el escalado a cualquier tamaño.
Su ventaja fundamental se encuentra en su gran capacidad de transformación. Los
caracteres de las fuentes outlines pueden escalarse a cualquier tamaño con resultados
de mayor calidad a los que se consiguen con fuentes de bitmap, dado que no se produce
pixelación. Sin embargo, su tiempo de procesado es mucho mayor y pueden obtenerse
interpretaciones no deseadas o rendering mistakes dependiendo de la fuente, software
de representación y tamaño de salida.
En sus comienzos, estos tipos de fuentes también llamados vectoriales, se emplearon
en monitores y plotters de vector, que utilizaban sus propias fuentes internas. Más
adelante, surge la necesidad de unificar las fuentes con la interfaz de usuario en los
primeros Macintosh e impresoras láser, lo que da lugar a la aparición de la tecnología
WYSIWYG (What You See Is What You Get). El estándar universal era y sigue
siendo Adobe PostScript con sus formatos Type1 y Type3, y los formatos posteriores
TrueType (creado por Apple Computer) y OpenType (Microsoft & Adobe). La
tecnología PDF de Adobe se ampara en estos formatos y por lo tanto, centrarán
nuestra atención de aquí en adelante.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
19
Fuentes Stroke
Emplean un conjunto de líneas determinadas e información adicional que define un
perfil, tamaño y forma de la línea para cada tamaño y vista. Estos dos elementos se
unen para describir la apariencia del glifo. Sus ventajas fundamentales sobre las fuentes
outlines consisten en el número reducido de vértices para la definición de glifos y su
diseño más sencillo y menos propenso a errores que el de las fuentes outlines.
Son fuentes de gran éxito en los mercados del este asiático para el uso en sistemas
integrados. Entre sus desarrolladores se encuentran Fontworks (Gaiji Master), Agfa
Monotype (iType), Font Fusion (FFS), btX2 y Type Solutions, Inc. (perteneciente a
Bitstream Inc.) .
3.3.2.
Las fuentes en PDF
Como se indicó en al sección anterior, nuestro interés se centra en las fuentes que se emplean
en PDF: Las fuentes Type1, MMType1, Type3, TrueType, OpenType y CIDfonts. Previo
a al estudio de estas fuentes4 dentro de PDF (integración, uso y estructura), se introducen
muy brevemente:
Las fuentes Type1
Las fuentes Type 1 o PostScript [1] constituyen una simplificación del lenguaje Post-Script
como en el caso de PDF, en esta ocasión para permitir el almacenamiento de información de
representación de glifos. Así, su tecnología se basa en el uso de las curvas cúbicas de Bézier
y se engloba dentro de los formatos de archivos de fuentes outlines. Es un formato de fuente
que soporta procesos de hinting.
Su costosa licencia y monopolio del mercado, propició la aparición de otro formato de fuente
entorno a 1991 que alcanzaría gran importancia, el formato True Type de Apple. En ese
momento, Adobe publicaría la especificación del formato de fuente Type 1 y distribuiría
gratuitamente alguna de sus fuentes para mantener su competitividad.
Las fuentes Type 3
Las fuentes Type 3 [7] surgieron como una simplificación menos costosa de las fuentes Type
1, que seguía empleando toda la potencia del formato PostScript pero sin definir procesos
estandarizados para hinting. Las fuentes Type 3 definen glifos utilizando todo y no un
subconjunto del lenguaje PostScript, como en el caso de las fuentes Type 1. De ahí, que las
fuentes Type 3 presenten posibilidades de definición de forma, color y patrones de relleno
que no son posibles en Type 1, a pesar de no soportar hinting.
4 Se
dedica el capítulo 5 Fundamentos de la gestión de fuentes en PDF.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
20
Las fuentes True Type
Las fuentes True Type [4] desarrolladas de forma original por Apple Computer a finales
de los años 80, surgieron como respuesta al formato privativo Type 1. Su tecnología se
basa fundamentalmente en las curvas cuadráticas de Bézier que son matematicamente más
simples que la cúbicas que se emplean en el formato Type 1 y que proporcionan un procesado
más eficiente. Por otro lado, los sistemas True Type incorporan una máquina virtual que
ejecutan programas dentro de la propia fuente para el procesado de los hints de los glifos.
De esta manera se consigue la distorsión de los puntos de control que definen el contorno de
cada glifo, logrando reducir las características indeseables que introducen los rasterizers en
el despliegue en pantalla o en la impresión, mejorando así la legibilidad.
True Type5 ha sido durante mucho tiempo el formato de fuente empleado en los sistemas
operativos Mac OS y Windows, aunque ambos soporten también el formato Adobe Type 1 y
la extensión de la fuentes True Type, llamada Open Type, de gran relevancia en la actualidad
(desde Mac OS X 10.0 y Windows 2000). Por otro lado, muchas de las distribuciones de Linux
incorporan el llamado formato FreeType. El formato FreeType de David Turner surge como
un intento de crear una implementación independiente de True Type. Sin embargo, debido a
importantes violaciones de la patente de Apple al respecto de la máquina virtual de hinting,
se dio paso a FreeType2 que intenta salvar el inconveniente de su predecesor pero que aún
no ha conseguido constituir un formato eficiente en muchos aspectos.
Las fuentes MMType1
Las fuentes Multiple Master [45] son una extensión de las fuentes Type 1 de PostScript que
han sido reemplazadas en la actualidad por el formato Open Type. Su tecnología se basa
en la interpolación a lo largo de un conjunto de ejes determinados, de una serie de fuentes
llamadas maestras para conseguir de esta forma una gran gama de estilos, manteniendo la
integridad de los glifos.
Las fuentes Multiple Master soportan un conjunto de variables de entre estas cuatro:
Weight o peso (próximo al concepto de negrita)
Width o compresión
Optical size o tamaño óptico
Style o estilo
En la actualidad estas fuentes se encuentran obsoletas y las aplicaciones que las soportan
son muy escasas.
5 El llamado outline de True Type dentro de las fuentes PostScript, se define como Type 42 y Type 11
para las fuentes CID.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
21
Las fuentes Open Type
Open Type es el formato de fuente desarrollado por Microsoft y posteriormente por Adobe
para ser el sucesor de las fuentes True Type por su tecnología tipográfica más avanzada
[46]. Las fuentes OpenType incorporan opciones de smartfont que permiten un soporte
tipográfico de idioma más avanzado. Entre sus ventajas además, destaca su codificación
basada en Unicode y su compatibilidad con la mayoría de sistemas Windows, Mac OS y
Unix. Las descripciones de glifo en esta tecnología pueden encontrarse tanto el formato True
Type como en PostScript (siguiendo el Formato de Fuente Compacto CFF propio de las
fuente Type 2). Esta posibilidad en la variedad del formato es de gran importancia para el
desarrollo de este proyecto como se explicará en el capítulo 6 de Métodos y fases de desarrollo,
para la incrustación de las fuentes compuestas CIDFontType0 (derivadas de Type 1).
Las fuentes CID
CID o CID-keyed es un formato PostScript Type 06 multibyte que permite el uso de conjuntos de glifos muy extensos. Surgió principalmente con la idea de proporcionar soporte a los
mercados asiáticos cuyos idiomas emplean un número de caracteres muy superior al de los
lenguajes occidentales [7, 45]. Con el formato CID se pretendía alcanzar mejores rendimientos y una mayor flexibilidad de lo que se había conseguido con el formato Original Composite
Font (OCF) en un primer acercamiento a las codificaciones complejas y amplios conjuntos
de caracteres de los lenguajes asiáticos (CKJ).
El formato CID-keyed en PDF puede emplearse en conjunción con el formato Type 1 (u
OpenType con PostScript outlines), formando las denominadas CIDFontType0 y con el
formato True Type (u Open Type en su variante True Type) constituyendo las fuentes
CIDFontType2.
La integración y cooperación de PDF con estas fuentes para la representación de textos
forma parte del núcleo central de este proyecto. Así, todas las fuentes que se han presentado se analizarán en profundidad dentro del contexto y las estructuras propias de PDF en
capítulos posteriores. En cuanto al copyright de las fuentes y la incrustación, cabe decir que
nuestro software NO se responsabiliza del uso de fuentes que no permitan la incrustación7 . El
usuario debe conocer la licencia con que se distribuye una fuente de que dispone y emplearla
con este software siempre y cuando sea permitido dicho proceso. En cualquier caso, la mayoría de las fuentes con licencias privativas permiten su incrustación SÓLO para una mayor
eficiencia en la lectura e impresión de los documentos, es decir, admiten la incrustación de la
fuente para impresión y previsualización pero no para edición, coincidiendo con el objetivo
que se persigue con este Proyecto Fin de Carrera.
6 Una fuente Type 0 es una fuente compuesta según se define en PostScript Language Reference Manual,
2ª Edición.
7 El copyright y las licencias de distribución de fuentes, son susceptibles a un análisis más profundo que
se escapa de los objetivos de este proyecto.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
3.4.
22
Software de modificación de PDF
Son múltiples las herramientas capaces de visualizar y crear PDFs tanto en software de tipo
privativo como libre, sin embargo, la modificación de los documentos es una capacidad escasa
de las aplicaciones de gestión PDF, especialmente en las open source. En esta sección vamos
a analizar las librerías y aplicaciones de tipo comercial y libre que permiten la alteración
de documentos PDF, centrándonos en concreto en aquéllas que permiten la incrustación de
fuentes, dado el objetivo de este proyecto.
En primer lugar analizaremos el módulo de Perl PDF::API2, por constituir la base sobre la
que se desarrolla la aplicación.
3.4.1.
El módulo PDF::API2
PDF::API2 de Alfred Reibenschuh [28] es un módulo en lenguaje Perl muy extenso que
permite la modificación y creación de documentos PDF. Los primeros pasos en la creación de
este módulo se fundamentaron en PDFlib-0.6 (AFLP)[27]. Posteriormente evolucionó como
Text::PDF::API hasta convertirse en un módulo orientado a objetos y con licencia LGPL
denominado PDF::API2. Para el desarrollo de este PFC se emplea su versión PDF::API20.65.
Figura 3.1: Logo de PDF::API2
Entre sus características destacamos las siguientes [26]:
Se presenta al usuario mediante una API orientada a objetos.
Permite la creación y modificación de documentos PDF.
Importación de páginas.
Empleo de fuentes incrustadas para fuentes Type 1 y CIDFont basadas en TrueType
(mediante el uso de ficheros de fuentes con extensión .pfb, .pfa, .ttf y otf8 ).
8 En
el caso de las fuentes Type1 es necesario también el empleo de ficheros de métricas .afm.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
23
Permite el empleo de las llamadas 14 fuentes estándar y un subconjunto de las fuentes
CKJ. Sin embargo, dichas fuentes no se incrustan en el fichero PDF.
Admite los archivos de imágenes (.jpeg,.png,.gif,.tiff y .pbm/pgm/ppm).
En cuanto a requerimientos, se caracteriza por su reducido número de exigencias. Se presentan únicamente tres:
1. Se necesita una versión de Perl superior a 5.8.x 9 .
2. Instalación del módulo Encode para la gestión de la codificación de las fuentes.
3. Instalación del módulo Compress::Zlib para la compresión de los objetos de flujo u
object streams de PDF.
Los módulos relacionados con la gestión de fuentes de PDF::API2 que se han estudiado para
desarrollo de este proyecto son:
PDF::API2::Resource::CIDFont::CJKFont
PDF::API2::Resource::CIDFont::TrueType
PDF::API2::Resource::CIDFont::TrueType::FontFile
PDF:: API2:: Resource:: Font:: PostScript
PDF::API2::Resource::Font
PDF::API2::Resource::Font::CoreFont
El uso o descarte de cada uno de estos módulos se explicará a lo largo del capítulo 6 Métodos
y fases del desarrollo. Sus distintos métodos y el resto de módulos pueden consultarse en
http://search.cpan.org/dist/PDF-API2/.
3.4.2.
Alternativas en software libre para PDF
A continuación se presentan las principales alternativas en software libre que compiten con
PDF::API2 para la creación y modificación de ficheros PDF.
9 En
este proyecto se desarrolla con Perl 5.8.3.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
24
Perl
PDF.pm [30]
El objetivo de esta librería es facilitar clases y funciones que permitan el acceso y
manipulación de ficheros PDF con Perl. Se encuentra divida en dos secciones fundamentales.
• PDF:: Core que contiene funciones para el acceso a estructuras de datos, constructores y funciones de bajo nivel como la extracción de objetos.
• PDF:: Parse está orientado a la extracción de información entorno a un documento
PDF.
Sin embargo, no se proporcionan herramientas para la gestión de fuentes de forma
directa, por lo que no resulta muy competitivo frente a PDF:: API2 para el objetivo
que nos ocupa.
Text:: PDF [29]
Módulo de Perl para la modificación y creación de documentos PDF.
Las características que le hacen competitivo frente a PDF:: API en la gestión de fuentes
y textos en PDF son:
• Permite el trabajo simultáneo con más de un fichero PDF.
• Soporta las fuentes True Type (Text::PDF::TTF) y de fuentes True Type Type0
(Text::PDF::TTFont0). Permite la incrustación del éstas e incluso el subsetting.
• Soporta las 14 fuentes estándar (Text::PDF::SFont).
Sin embargo, el inconveniente fundamental de Text:: PDF es que por el momento no
soporta las fuentes en formato PostScript Type 1, Type 3, MMType1 o Type0 con
PostScript outlines.
Python
ReportLab [31]
La librería ReportLab Open Source PDF es una de las soluciones para la creación
de PDF de mayor implantación entre los desarrolladores web y profesionales del diseño para la generación de reporting systems. Se caracteriza especialmente por su gran
flexibilidad para la construcción de componentes como vectores gráficos, tablas, párrafos, imágenes bitmap y fuentes. Al respecto de éstas hay que indicar que soporta la
incrustación de fuentes Type 1 y asiáticas además del uso de las 14 fuentes PostScript.
JAVA
iText [32]
iText es una librería Java que permite a los desarrolladores extender las capacidades
de sus servidores (servidores web) con la creación de documentos PDF dinámicos. En
cuanto a la gestión de textos permite el empleo de las 14 fuentes estándar (no se ofrece
la posibilidad de incrustación), fuentes True Type o TTF, colecciones TrueType o
TTC, fuentes Open Type OTF, fuentes PostScript mediante ficheros PFB y AFM y
fuentes CID.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
25
Otros
Panda [33]
Panda es una librería en código C con licencia GPL y LGPL para la creación de
documentos PDF. Al respecto del uso de fuentes destaca por los esfuerzos que se están
realizando para la incorporación del formato FreeType. Sin embargo, por el momento
(hasta su versión 0.5.4 ), no incorpora capacidades de incrustación de fuentes.
FPDF [34]
FPDF es una clase open source escrita en PHP para la creación de documentos PDF
de forma directa desde PHP (sin necesidad de PDFlib). Su eficiencia en cuanto a
velocidad es menor que con PDFlib. Sin embargo, dado que PDFlib es de carácter
privativo, resulta una buena alternativa siempre que los documentos no sean muy
extensos. Admite fuentes True Type y Type 1.
Pdftk [35]
Pdftk es una herramienta de línea de comandos con licencia GPL para sistemas Windows, Mac OS X, FreeBDS y Solaris. Entre sus funciones principales destacan:
•
•
•
•
•
•
Unión y separación de páginas de documentos
Encriptación
Relleno de formularios
Actualización de meta datos (autor, título, palabras claves, etc)
Compresión y descompresión
Reparación de PDF corruptos
Es un software potente de propósito general, sin embargo, no contempla la incrustación
de fuentes.
Ghostscript [36]
Ghostscript, con licencia GPL, es uno de los programas intérprete de documentos en
PostScript y PDF más importantes. Su cobertura de las especificaciones de PostScript
es extraordinaria. Sin embargo, su código es muy complejo y extenso y esto constituye
una de sus desventajas principales en la gestión de documentos PDF. Para interpretar
documentos PDF no es necesario toda la complejidad que GhostScript incorpora para
la interpretación eficiente de PostScript. Así, para el manejo de documentos PDF se
prefieren intérpretes más ligeros.
La versión 6.0 de Ghostscript incluye como base 35 fuentes PostScript Type 1. Además
implementa fuentes True Type.
PDFTEX [37]
PDFTEX, con licencia GNU General Public Licence, es una variante del programa Tex
que se incluye en la mayoría de distribuciones de LATEX y ConTEXt. La diferencia fundamental entre TEX y PDFLATEX es que TEX da como salida ficheros DVI mientras que
PDFLATEX puede generar ficheros PDF de una forma directa incluyendo características
como enlaces de hipertexto, tablas de contenidos y referencias cruzadas.
En cuanto al uso que da a las fuentes, cabe destacar que permite de forma nativa la
incrustación de fuentes Type 1 y True Type. Para el paso a PDF de la memoria de
este proyecto se ha empleado esta herramienta desde la aplicación open source LYX.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
26
Además existen otras alternativas de gran interés que no se detallan como:
Apache-FOP: http://xmlgraphics.apache.org/fop/
Poppler: http://poppler.freedesktop.org/
MuPDF+Fitz: http://ccxvii.net/apparition/
PDFedit: http://pdfedit.petricek.net/index_e.html
3.4.3.
Alternativas en software privativo para PDF
Las aplicaciones y SDK que se pueden encontrar de licencias propietarias con posibilidad de
incrustar algunos de los tipos de fuentes que admite PDF, son bastante numerosas, pero las
licencias de la mayoría de ellas resultan privativas para gran parte de los usuarios.
Adobe10 . Acrobat Family [18]
Las opciones de modificación de documentos PDF es realmente muy extensa mediante
Adobe Acrobat 8.0. Sus herramientas permiten tanto la edición de textos como de
objetos.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
• Edición de texto11
• Agregar texto nuevo
• Generación y relleno de formularios con la herramienta Typewriter
• Incrustar fuentes mediante la herramienta Retocar Texto. Se presentan las
siguientes opciones a este respecto:
1. Fuente disponible e incrustable. Se puede incrustar la fuente con dos posibilidades, incrustar y subconjunto. Es decir, incrustando toda la fuente o sólo
el conjunto de caracteres de la fuente que se emplea.
2. Fuente disponible pero incrustable con restricciones. Sólo puede incrustar un
subconjunto de la misma. Se permite incrustar la fuente para impresión y
previsualización pero no para edición.
3. Fuente disponible pero no incrustable. No se puede incrustar la fuente: ni la
de incrustación ni la de subconjunto.
4. No hay ninguna fuente del sistema disponible por tanto, no está disponible
ninguna opción; ni la de incrustación ni la de subconjunto.
10 Adobe dispone además de servicios online para la conversión de documentos a PDF como Create Adobe
PDF Online.
11 Si las modificaciones son sustanciales se recomienda realizar los cambios en el documento original y
generar de nuevo el PDF, dado que la edición no es uno de los fundamentos en los que se basa PDF y se
presentan muchas limitaciones.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
27
Conclusión- Sin duda alguna, Adobe Acrobat 8 conforma el software más completo
para la incrustación de fuentes en PDF. Sin embargo, su carácter es privativo y
el coste a día de hoy para su adquisición se sitúa entorno a los 600€ y para su
actualización alrededor de 250€.
PDFlib [38]
PDFlib es una herramienta completa de desarrollo para la creación de documentos
PDF. Está enfocada principalmente a la generación de PDF "on the fly" en servidores.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
Sus posibilidades para la gestión de fuentes son muy potentes: destaca el soporte que
ofrece para las fuentes CJK, fuentes Type 3 y su capacidad de incrustación mediante
subsetting para la reducción del tamaño final de los documentos PDF.
Conclusión- Herramienta con excelentes propiedades y cualidades. Desafortunadamente, sólo una versión muy limitada (y con la adición de marcas de agua en
todas las páginas) se encuentra disponible de forma gratuita.
Adult PDF [19]
El software Adult PDF se especializa en la conversión de documentos a PDF. Entre
sus herramientas se destaca Ap Document to PDF Converter v3.0 por sus opciones
de transformación de formatos como doc, xls, ppt, txt, html y el propio PDF hacia
sofisticados PDF.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
• Soporta la modificación la inclusión de marcas de agua y sellos específicos del
autor
• Adición de hipervínculos a elementos de texto
• Creación de estructura jerárquica a partir del texto: creación de bookmarks
• Soporte de la incrustación de fuentes
Conclusión- AdultPDF no se especializa en la modificación de ficheros PDF sino
en la creación a partir de otros formatos. Sin embargo, permite la incrustación
de fuentes. Su carácter es privativo y su uso se restringe para sistemas operativosWindows2000/XP/2003. Se encuentra disponible por un precio entorno a los
25€.
Apago [20]
El software de Apago se especializa en la manipulación y optimización de ficheros PDF.
En concreto nos centramos en su herramienta PDF Enhancer.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
• Soporta la incrustación de fuentes en modo subsetting
• Soporte de la incrustación de fuentes completas
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
28
Conclusión- PDF Enhancer es una herramienta completa para conseguir PDF con
tamaños lo más reducidos posibles, de gran calidad y fiabilidad (incrustación
de fuentes). El inconveniente fundamental se encuentra en su licencia privativa
que puede alcanza los 200€ para desktops y llegar a los 2000€ para servidores
avanzados. Se encuentra disponible para Windows NT/2000/XP/2003 y Mac OS
X.
Arts PDF Crackerjack [21]
Plug-in de Adobe para la impresión profesional de documentos PDF.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
Antes de la impresión, procede al análisis de las fuentes en el documento, si su
opción de chequeo de fuentes no incrustadas está activada. Si encuentra que una
fuente en el fichero PDF no está incrustada, pero existe en el sistema, imprimirá
el documento incluyendo dicha fuente pero no incrustando la fuente en el
fichero PDF. En caso contrario, interrumpe el proceso para interrogar al usuario.
Conclusión- Arts PDF Crackerjack es una herramienta enfocada a la impresión de
documentos PDF en alta calidad pero no para la visualización. Se encuentra
disponible para las plataformas Windows y Macintosh en su versión 5.1.2 con
licencia propietaria con y sin mantenimiento. Una licencia sin mantenimiento
tiene un coste entorno a 495€.
Nitro PDF [22]
Nitro PDF Professional es una herramienta PDF dirigida fundamentalmente a la modificación de documentos para la actualización de contenidos. Permite la edición de textos, imágenes, páginas, seguridad, enlaces y bookmarks permitiendo la optimización
de los ficheros PDF para su distribución.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
Nitro PDF ofrece un control total sobre las fuentes en los documentos PDF. Se
pueden añadir o eliminar fuentes incrustadas en un PDF ya existente y
decidir la gestión de fuentes para los nuevos documentos.
Conclusión- Es una herramienta muy especializada en la modificación de contenidos
PDF y permite una total personalización en el uso de las fuentes. Disponible para
Windows 2000, XP Home, XP Professional o Vista (XP Professional 64, no se
soporta Vista 64) con un coste próximo a los 100$ en su versión profesional.
Broadgun Software Pty Ltd.: pdfMachine [23]
PdfMachine de Broadgun Software es un kit de desarrollo software (SDK) para la
conversión y manipulación de documentos PDF en alta calidad en sistemas Windows.
Se presenta con interfaz en línea de comandos y COM API.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
Únicamente soporta la incrustación de fuentes True Type.
Conclusión- Las posibilidades de incrustación de fuentes en pdfMachine son muy limitadas. Su carácter es privativo y su uso está limitado para Windows NT/2000/XP
/2003/Vista. El coste por servidor es de 450$ según se fija en su página oficial.
CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE
29
Enfocus Software: PitStop Professional 7 [24]
PitStop Professional es una herramienta muy potente para la modificación de documentos PDF. Permite seleccionar y editar textos, objetos vector, imágenes raster,
opciones de color y corregir errores típicos de impresión según una serie de plantillas
predeterminadas.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
Permite el cambio de muchas propiedades de texto como fuentes, incrustación
de fuentes y outlining, tamaños y posición en el documento.
Conclusión- Este software profesional al constituir un plug-in de Adobe Acrobat,
permite la modificación de PDFs sin necesidad de cambiar la familiar interfaz de
Acrobat. Disponible para Mac OS y Windows en su versión 7.51 con un coste
entorno a 600€.
FinePrint Software: pdfFactory [25]
Herramienta de propósito general de PDF. Permite la creación, visualización, modificación y envío de documentos. Realiza tareas de previsualización, encriptación y
control de acceso.
Análisis- Capacidades más destacadas entorno a la modificación de textos:
Asegura que las fuentes que se usan en un documento son las originales, pese a
su indisponibilidad en el sistema, dado que prevee la incrustación de fuentes.
Conclusión- Sólo disponible para Windows Vista, XP, 2000, NT, 98, 95 con un precio
aproximado de 100€.
Además se deben citar las siguientes herramientas dentro de esta sección por su potencial y
extensión en el mercado actual:
PDF Editor de Foxit Software Company: http://www.foxitsoftware.com/
Jaws PDF Software: http://www.jawspdf.com/
PDF Tools AG: http://www.pdf-tools.com/
PDFTron: http://www.pdftron.com/
WebSuperGoo, AbcPDF e ImageGlue: http://www.websupergoo.com/
Como se puede deducir de este análisis, las aplicaciones de modificación de fuentes en PDF
de carácter libre son practicamente inexistentes. Este proyecto pretende colaborar para el
progreso del software libre entorno a PDF y en concreto proporcionar una herramienta para
la incrustación de fuentes, en un tipo de documento cuyo dominio sobre el mercado actual
de la documentación electrónica, no cesa su crecimiento.
Descargar