In diesem Beitrag erfahren Sie, wie Sie mit Java nahtlos Text aus PDF Dateien extrahieren. Die Textextraktion kann in verschiedenen Szenarien nützlich sein, z. B. bei der Textanalyse, beim Abrufen von Informationen, beim Analysieren von Dokumenten usw. Da PDF eines der am weitesten verbreiteten digitalen Dokumente ist, sind die Anwendungsfälle der Textextraktion aus PDF Dokumenten zahlreicher. Fangen wir also an und prüfen, wie man PDF-Textextraktion aus Java Anwendungen heraus durchführt.
- Java-Textextraktions-API – kostenloser Download
- Extrahieren Sie Text aus PDF mit Java
- Extrahieren Sie Text von einer bestimmten Seite in PDF
- Textextraktion aus einem Seitenbereich in PDF
Java API zum Extrahieren von Text aus PDF – kostenloser Download
Aspose.PDF for Java ist eine bekannte API zur Bearbeitung von PDF Dateien, die eine breite Palette von Funktionen zum Erstellen und Verarbeiten von PDF Dateien bietet. Die API enthält einen leistungsstarken Textextraktor, der verschiedene Möglichkeiten zum Extrahieren von Text aus PDF Dokumenten innerhalb weniger Codezeilen bietet. Sie können die JAR Datei der API entweder herunterladen oder mithilfe der folgenden Konfigurationen in Ihren Maven-basierten Anwendungen installieren.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.11</version>
</dependency>
Extrahieren Sie Text aus PDF mit Java
Im Folgenden sind die Schritte zum Extrahieren von Text aus einem PDF Dokument mit Aspose.PDF for Java aufgeführt.
- Verwenden Sie die Klasse Document, um die PDF Datei zu laden.
- Erstellen Sie ein Objekt der Klasse TextAbsorber.
- Akzeptieren Sie den TextAbsorber für alle Seiten der PDF Datei mit der methode Document.getPages().accept(TextAbsorber).
- Verwenden Sie die Methode TextAbsorber.getText(), um den gesamten Text aus dem PDF abzurufen.
- Speichern Sie den Text in einer TXT Datei (optional).
Das folgende Codebeispiel zeigt, wie Sie mit Java Text aus PDF extrahieren.
// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Dokument öffnen
Document pdfDocument = new Document("input.pdf");
// Erstellen Sie ein TextAbsorber objekt, um Text zu extrahieren
TextAbsorber textAbsorber = new TextAbsorber();
// Akzeptieren Sie den Absorber für alle Seiten
pdfDocument.getPages().accept(textAbsorber);
// Holen Sie sich den extrahierten Text
String extractedText = textAbsorber.getText();
// Erstellen Sie einen Writer und öffnen Sie die Datei
java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt"));
writer.write(extractedText);
// Schreiben einer Textzeile in die Datei tw.WriteLine(extractedText);
// Schließen Sie den Stream
writer.close();
Extrahieren Sie Text von einer bestimmten Seite in PDF
Mit den folgenden Schritten können Sie auch Text aus einer bestimmten Seite des PDF Dokuments extrahieren.
- Verwenden Sie die Klasse Document, um die PDF Datei zu laden.
- Erstellen Sie eine Instanz der Klasse TextDevice.
- Definieren Sie zusätzliche Optionen mithilfe der Klasse TextExtractionOptions.
- Legen Sie Optionen mit der methode TextDevice.setExtractionOptions(TextExtractionOptions) fest.
- Verwenden Sie TextDevice.Process(Page, String), um den Text von der angegebenen Seite zu extrahieren.
Das folgende Codebeispiel zeigt, wie Sie mit Java Text aus einer bestimmten Seite in PDF extrahieren.
// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Dokument öffnen
Document pdfDocument = new Document("input.pdf");
// Textgerät erstellen
TextDevice textDevice = new TextDevice();
// Textextraktionsoptionen festlegen - Textextraktionsmodus festlegen (Raw oder Pure)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
textDevice.setExtractionOptions(textExtOptions);
// Holen Sie sich den Text von der ersten Seite des PDF und speichern Sie ihn im Dateiformat
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");
Text aus einem Seitenbereich in PDF extrahieren
Sie können auch Text aus einem bestimmten Bereich der Seite in PDF extrahieren. Dazu können Sie ein Rechteck definieren, um den Bereich abzudecken, aus dem Sie den Text extrahieren müssen. Im Folgenden sind die Schritte zum Extrahieren von Text aus einem Seitenbereich aufgeführt.
- Verwenden Sie die Klasse Document, um die PDF Datei zu laden.
- Erstellen Sie ein Objekt der Klasse TextAbsorber.
- Legen Sie die Seitenbegrenzung fest und erstellen Sie ein Rechteck mit TextAbsorber.getTextSearchOptions().setLimitToPageBounds(true) und TextAbsorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350)) methoden.
- Akzeptieren Sie den Absorber für die jeweilige Seite.
- Verwenden Sie die Methode TextAbsorber.getText(), um Text zu extrahieren.
Das folgende Codebeispiel zeigt, wie Text aus einem bestimmten Seitenbereich in Java extrahiert wird.
// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Dokument öffnen
Document doc = new Document("page_0001.pdf");
// Erstellen Sie ein TextAbsorber objekt, um Text zu extrahieren
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));
// Akzeptieren Sie den Absorber für die erste Seite
doc.getPages().get_Item(1).accept(absorber);
// Holen Sie sich den extrahierten Text
String extractedText = absorber.getText();
// Erstellen Sie einen Writer und öffnen Sie die Datei
BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));
// extrahierten Inhalt schreiben
writer.write(extractedText);
// Schreiber schließen
writer.close();
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mit Java Text aus PDF extrahieren. Sie haben verschiedene Möglichkeiten der Textextraktion kennengelernt, z. B. das Extrahieren von Text aus einer ganzen PDF Datei, einer bestimmten Seite oder einem bestimmten Seitenbereich. Weitere Informationen zur Java PDF API finden Sie unter Dokumentation.
Siehe auch
Info: Aspose hat kürzlich einen kostenlosen Online-Dienst Text to GIF entwickelt, mit dem Sie Texte animieren oder GIFs aus einfachen Texten generieren können.