2011-06-20 27 views
7

Actualmente estoy usando el PDF Box para analizar un PDF y estoy tratando de encontrar la forma de recuperar datos sobre el texto, como la fuente (negrita, tamaño, etc.) y la ubicación de la fuente .PDF Análisis con texto y coordenadas

¿Alguna sugerencia?

Respuesta

3

Después de hurgar en los documentos de PDFBox (difíciles de encontrar), encontré this little gem.

Aparentemente, uno de los ejemplos muestra exactamente cómo hacer todo lo que pidió. Básicamente, subclase PdfTextStripper y anule el método processTextPosition. Allí, consulta el TextPosition para obtener la información que necesita.

Para referencia futura, se puede encontrar el Javadoc aquí: http://pdfbox.apache.org/apidocs/index.html

+0

esta pequeña joya no funciona. –

+0

Funciona, pero debe compilarlo desde las fuentes PDFBox – lauhub

3

Una de las mejores cosas para la extracción de texto de PDF es TET, the text extraction toolkit. TET es parte de la familia de productos PDFlib.com.

PDFlib.com es Thomas Merz's (el autor de la compañía "PostScript y PDF Bible").

La primera encarnación de TET es a library. Es probable que pueda hacer todo lo que quiera, incluida la información posicional sobre cada elemento de texto en la página. Ah, y también puede extraer imágenes. Reúne + fusiona imágenes que están fragmentadas en pedazos.

pdflib.com también ofrece otra encarnación de esta tecnología, el TET plugin for Acrobat. Obviamente necesitarías Acrobat también para hacer uso de esto.

Y la tercera encarnación es PDFlib TET iFilter. Esta es una herramienta independiente para estaciones de trabajo de usuarios. Esto es gratis (como en cerveza) para uso privado, no comercial.

Por último, TET también viene con una interfaz de línea de comandos .

TET es realmente potente. Mucho mejor que la extracción de texto de Adobe. Extrajo texto para mí donde otras herramientas (incluida Adobe) escupían basura solo.

Hace unos meses probé su herramienta de escritorio independiente, y lo que dicen en su página web es cierto. Tiene una muy buena línea de comandos. Algunos de mis archivos de prueba PDF "problemáticos" que la herramienta manejó a mi entera satisfacción.

Esto es mi recomendación para cada sofisticado y desafiante requisito de extracción de texto PDF.

TET es simplemente increíble. Detecta tablas. Dentro de las tablas, identifica celdas que abarcan varias columnas. Identifica las filas de la tabla y el contenido de cada celda de la tabla por separado. Se trata muy bien con guiones: elimina guiones y restaura palabras completas. Admite lenguajes que no son ASCII (incluidos CJK, árabe y hebreo). Al encontrar ligaduras, restaura los caracteres originales ...

Pruébalo.

+0

Eso suena realmente impresionante. "Demasiado bueno para ser verdad", incluso. Me encantaría probarlo para ver cuántas maneras podría romperlo. > :) Sé que es * posible *, también sé lo difícil que es. –

+0

@MarkStorer: Tengo curiosidad. ¿Alguna vez tuvo la oportunidad de probar la TET? –

+0

No. He estado fuera del negocio de PDF por poco más de un año. –

1

La función GetPageText con la opción de extracción 3 o 4 en Quick PDF Library devuelve una cadena CSV para la página seleccionada que incluye el texto (palabras individuales o un texto) y el nombre de fuente, color del texto, tamaño del texto y co relacionados -ordina en la página.

Nota: es una biblioteca comercial y yo trabajo para la compañía que la vende.

+2

Gracias por ser honesto acerca de su empresa y producto. –