2016-08-01 46 views
2

Ich habe einfache Text-Extraktion-Methode mit PDFBox 1.8.10 in Java implementiert. Aus irgendwelchen Gründen muss ich die Bibliothek auf PDFBox 2.0.2 aktualisieren. Wahrscheinlich wurde die PDFTextStripper() Methode entfernt oder ein anderes Paket in der neuen Version gefunden. Gibt es eine Möglichkeit, dieses Problem zu überwinden? Oder können Sie einen anderen Weg vorschlagen, um Text aus PDF zu erhalten?Text-Extraktion aus PDF mit PDFBox 2.0.2 fehlende Klasse PDFTextStripper()

Hier ist mein Code:

public String extractTextFromPdf() { 
    File jInputFile = new File("c:/lorem/ipsum.pdf"); 
    PDDocument PDDoc = PDDocument.load(jInputFile); 
    String strContent = new PDFTextStripper().getText(PDDoc); 
    PDDoc.close(); 
    return strContent; 
} 

Vielen Dank im Voraus.

+0

Welche IDE verwenden Sie? Drücken Sie in Netbeans Ctrl-Shift-I, und der Import wird automatisch korrigiert. Drücken Sie in der Sonnenfinsternis Strg-Umschalt-O. –

+0

@TilmanHausdrücker Danke Mann. Ich benutze Eclipse. Nach dem Neustart wurde es behoben. Ich denke, es ist ein vorübergehender Fehler. PDFBox hat die PDFTextStripper-Klasse von 'org.apache.pdfbox.util' nach 'org.apache.pdfbox.text' verschoben. Was für eine Entwicklung ... – brootforce

+0

Froh, dass es funktioniert. Bitte löschen Sie Ihre Frage, da dies eher trivial ist. Oder beantworte es selbst. –

Antwort

0

versuchen, dies es

{ 
    PDDocument document = null; 
    document = PDDocument.load(new File("test.pdf")); 
    document.getClass(); 
    if (!document.isEncrypted()) { 
     PDFTextStripperByArea stripper = new PDFTextStripperByArea(); 
     stripper.setSortByPosition(true); 
     PDFTextStripper Tstripper = new PDFTextStripper(); 
     String st = Tstripper.getText(document); 
     System.out.println("Text:" + st); 
    } 
} catch (Exception e) { 
    e.printStackTrace(); 
}` 
+1

Dies ist keine Antwort auf die Frage. Außerdem hat 'document.getClass();' keine Wirkung. 'if (! document.isEncrypted())' wird nicht benötigt. –