2012-01-06 12 views
6

Actualmente estamos trabajando con una selección de editores para generar libros en línea a partir de sus PDF. Nuestra aplicación heredada usa flex, por lo que estamos convirtiendo el PDF a archivos SWF usando PDF2SWF por SWFTools.Acceso a archivos de fuentes en PDF

El problema que estamos teniendo es que el texto en el documento SWF no está siendo resaltado por nuestro lector flex cuando el usuario realiza una búsqueda. Después de una rápida investigación hemos encontrado que cuando la extracción de texto que necesitamos para incrustar las fuentes que se utilizan en el documento PDF:

http://wiki.swftools.org/wiki/How_do_I_highlight_text_in_the_SWF%3F

pdf2swf -F $YOUR_FONTS_DIR$ -f input.pdf -o output.swf 

Como se puede ver en el código anterior, necesitamos un camino hacia un directorio de fuentes que contiene las fuentes encontradas en ese PDF.

Dado que vamos a convertir una gran cantidad de PDF, ¿es posible acceder a los archivos de fuentes directamente a través del PDF en lugar de tener una gran cantidad de fuentes almacenadas en nuestra aplicación?

Información adicional

Nuestra aplicación está escrito en Java.

Actualmente estamos usando PDFBox y Ghostscript en la aplicación, por lo que si hay alguna solución que use estas bibliotecas, esa sería una opción preferida, pero estamos abiertos a todas las ideas.

+0

pregunta relacionada: http://stackoverflow.com/ q/3488042/681807 –

Respuesta

7

Los archivos PDF no contienen 'archivos' de fuentes, es posible que ni siquiera contengan fuentes, aunque esto es raro. Los datos de fuentes incorporadas pueden estar en una desconcertante variedad de formatos:

  • tipo de letra 1 PostScript
  • tipo 3 PostScript
  • fuentes fuentes TrueType
  • fuentes
  • PostScript CFF
  • CIDFonts con contornos tipo 1 PostScript
  • CIDFontos con el tipo 3 Contornos PostScript
  • CIDFontos con contornos TrueType
  • CIDFonts con CFF esboza
  • CIDFonts con imágenes de mapa de bits

¿Su aplicación podrá leer toda estos formatos de fuente? Si desea utilizarlos, entonces debe utilizar las fuentes incrustadas en el archivo PDF, ya que muy a menudo serán fuentes subconjunto, y se suministrará con una codificación personalizada, lo que significa que incluso si tiene la fuente original, no puede Úselo porque la Codificación no será correcta.

Por supuesto, puede ser que estos archivos PDF son creados de una manera consistente y no utilizan fuentes incrustadas, pero tengo mis dudas ....

+0

Tenga en cuenta que CIDFonts generalmente no se correlaciona con códigos de caracteres Unicode, por lo que si sus archivos PDF los contienen, tendrá dificultades para asignar caracteres de documento a caracteres Unicode para buscar de todos modos. – Rup

+0

@KenS - gracias por su respuesta.Sus dudas son correctas, los PDF están usando fuentes de subconjuntos incorporados. Supongo que no tienes una fuente para apoyar tu respuesta. –

+1

@Rup - gracias por señalar eso. Vamos a admitir una amplia gama de idiomas, pero no los de estilo de script (japonés, coreano, etc.) –