parse example body java pdf text io

java - example - De PDf a String



jsoup parse string (4)

Bueno, he usado Tika para extraer texto sin formato del pdf (está basado en PDFBox), pero creo que Tika es útil solo cuando tienes que extraer texto de diferentes formatos de archivo (la detección automática ayuda mucho).

Si desea analizar solo PDF en texto, sugeriría PDFTextStream porque es un analizador mucho mejor que otras apis (como iText y PDFBox).

Con PDFTextStream puede obtener fácilmente texto estructurado (páginas-> bloques-> líneas-> unidades de texto), y le ofrece la posibilidad de extraer información correlacionada, como codificación de caracteres, altura, ubicación de un personaje en la página, etc.

Ejemplo:

public class ExtractTextAllPages { public static void main (String[] args) throws IOException { String pdfFilePath = args[0]; PDFTextStream pdfts = new PDFTextStream(pdfFilePath); StringBuilder text = new StringBuilder(1024); pdfts.pipe(new OutputTarget(text)); pdfts.close(); System.out.printf("The text extracted from %s is:", pdfFilePath); System.out.println(text); } }

¿Cuál es la manera más fácil de obtener el texto (palabras) de un archivo PDF como una cadena larga o una matriz de cadenas?

He intentado con pdfbox, pero eso no funciona para mí.


PDFBox barfs en muchos archivos PDF más nuevos, especialmente aquellos con imágenes PNG incrustadas.

Estaba muy impresionado con PDFTextStream


usa iText. El siguiente fragmento, por ejemplo, extraerá el texto.

PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/Text.pdf")); parser.getTextFromPage(3);


JPedal y Multivalent también ofrecen extracción de texto en Java o puede acceder a xpdf usando Runtime.exec