Mehrere Schlüsselwörter in PDF mit GroupDocs.Parser für Java suchen

Das Durchsuchen von PDF-Dokumenten nach bestimmtem Text kann herausfordernd sein, besonders bei großen Dateien oder vielen Seiten. Wenn Sie mehrere Schlüsselwörter in PDF-Dateien schnell und zuverlässig suchen müssen, bietet die GroupDocs.Parser für Java-Bibliothek eine saubere, leistungsstarke Lösung. Dieses Tutorial führt Sie durch die Einrichtung der Bibliothek, die Suche nach Seitenzahl und den Umgang mit nicht unterstützten Formaten – alles mit praxisnahen Beispielen, die Sie in Ihr Projekt übernehmen können.

Schnelle Antworten

  • Welche Bibliothek hilft Ihnen, mehrere Schlüsselwörter in PDF zu suchen? GroupDocs.Parser für Java.
  • Können Sie die Ergebnisse auf bestimmte Seitenzahlen beschränken? Ja, mit SearchOptions können Sie den Seitenindex für jeden Treffer abrufen.
  • Benötige ich eine Lizenz für die Entwicklung? Eine kostenlose Testversion funktioniert zum Testen; für die Produktion ist eine kostenpflichtige Lizenz erforderlich.
  • Wird Regex unterstützt? Absolut – aktivieren Sie es in SearchOptions.
  • Welche Java-Version wird benötigt? Java 8 oder höher mit Maven- oder Gradle-Build-Tools.

Was bedeutet „Suche mehrerer Schlüsselwörter in PDF“?

Wenn Sie mehrere Begriffe – wie „invoice“, „due date“ oder „total“ – in einem großen PDF finden müssen, spart eine einmalige Suche, die die Seitenzahlen für jeden Treffer zurückgibt, Zeit und Code‑Komplexität. GroupDocs.Parser abstrahiert das Low‑Level‑PDF‑Parsing und bietet Ihnen eine einfache API, um diese Mehrfach‑Schlüsselwort‑Abfragen durchzuführen.

Warum GroupDocs.Parser für Java verwenden?

  • Genaues Textextraktion selbst aus gescannten oder komplexen PDFs.
  • Integrierte Seitenindizierung, sodass Sie genau wissen, wo jedes Schlüsselwort erscheint.
  • Exception‑Handling für nicht unterstützte Formate, verschlüsselte Dateien und speicherintensive Dokumente.
  • Zero‑Dependency Maven‑Integration für eine schnelle Projektkonfiguration.

Voraussetzungen

  • Java 8+ und eine Maven‑kompatible IDE (IntelliJ IDEA, Eclipse usw.).
  • GroupDocs.Parser für Java (Version 25.5 oder höher).
  • Grundkenntnisse in Java‑Exception‑Handling und Datei‑I/O.

Einrichtung von GroupDocs.Parser für Java

Sie können die Bibliothek über Maven hinzufügen oder sie direkt herunterladen.

Verwendung von Maven

Fügen Sie das Repository und die Abhängigkeit zu Ihrer pom.xml‑Datei hinzu:

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/parser/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-parser</artifactId>
        <version>25.5</version>
    </dependency>
</dependencies>

Direkter Download

Alternativ können Sie die neueste Version von GroupDocs.Parser for Java releases herunterladen.
Lizenzbeschaffung: Beginnen Sie mit einer kostenlosen Testversion oder fordern Sie eine temporäre Lizenz an, um GroupDocs.Parser zu testen. Für den langfristigen Einsatz sollten Sie den Kauf einer Lizenz in Betracht ziehen.

Grundlegende Initialisierung und Einrichtung

Sobald die Bibliothek verfügbar ist, ist die Initialisierung unkompliziert:

import com.groupdocs.parser.Parser;

String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
try (Parser parser = new Parser(filePath)) {
    // Your parsing logic here
} catch (Exception e) {
    System.err.println("An error occurred: " + e.getMessage());
}

Implementierungs‑Leitfaden

Wir teilen die Implementierung in zwei praktische Funktionen auf:

  1. Mehrere Schlüsselwörter in PDF suchen und Seitenzahlen abrufen – ideal für „search pdf by page number“.
  2. Fehlerbehandlung für nicht unterstützte Dokumentformate.

Feature 1: Mehrere Schlüsselwörter in PDF suchen und Seitenindizes erhalten

Überblick

Die search‑Methode von GroupDocs.Parser, kombiniert mit SearchOptions, ermöglicht es Ihnen, jeden Begriff (oder regulären Ausdruck) zu finden und gibt sowohl die Zeichenposition als auch den Seitenindex zurück.

Schritt‑für‑Schritt

Schritt 1 – Importieren der erforderlichen Klassen

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.SearchResult;
import com.groupdocs.parser.options.SearchOptions;
import com.groupdocs.parser.exceptions.UnsupportedDocumentFormatException;

Schritt 2 – Initialisieren des Parsers und Konfigurieren von SearchOptions

String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf"; // Replace with actual document path

try (Parser parser = new Parser(filePath)) {
    if (!parser.getFeatures().isText()) {
        throw new UnsupportedDocumentFormatException("Text extraction isn't supported.");
    }

    // false = case‑insensitive, false = not whole‑word, false = regex disabled, true = return page index
    SearchOptions options = new SearchOptions(false, false, false, true);
    Iterable<SearchResult> results = parser.search("invoice|due date|total", options);
    
    for (SearchResult result : results) {
        System.out.println(String.format("Found at position %d on page %d: %s", 
                                         result.getPosition(), 
                                         result.getPageIndex() + 1, // pages are zero‑based
                                         result.getText()));
    }
} catch (UnsupportedDocumentFormatException e) {
    System.err.println(e.getMessage());
}

Erklärung der wichtigsten Parameter

  • filePath: Pfad zur PDF, die Sie durchsuchen möchten.
  • SearchOptions(false, false, false, true):
    • Case‑sensitivefalse macht die Suche case‑insensitive.
    • Whole‑wordfalse erlaubt Teilübereinstimmungen.
    • Regexfalse deaktiviert das Parsen von regulären Ausdrücken; setzen Sie es auf true, wenn Sie Regex benötigen.
    • Return page indextrue stellt sicher, dass jedes SearchResult die Seitenzahl enthält.

Tipp: Der Suchstring "invoice|due date|total" verwendet den Pipe‑Operator (|), um nach mehreren Schlüsselwörtern in einem einzigen Aufruf zu suchen.

Fehlersuche

  • Leere Ergebnisse: Stellen Sie sicher, dass das PDF tatsächlich auswählbaren Text enthält (nicht nur Bilder).
  • Falsche Seitenzahlen: Denken Sie daran, dass getPageIndex() nullbasiert ist; addieren Sie +1 für menschenlesbare Nummerierung.

Feature 2: Fehlerbehandlung für nicht unterstützte Dokumentformate

Überblick

Nicht jede Datei kann für Text geparst werden (z. B. einige verschlüsselte oder rein bildbasierte PDFs). Das Abfangen von UnsupportedDocumentFormatException ermöglicht Ihrer Anwendung ein sanftes Scheitern.

Implementierung

Schritt 1 – Parser‑Erstellung in einen try‑catch‑Block einbetten

try (Parser parser = new Parser(filePath)) {
    if (!parser.getFeatures().isText()) {
        throw new UnsupportedDocumentFormatException("Text extraction isn't supported.");
    }
} catch (UnsupportedDocumentFormatException e) {
    System.err.println(e.getMessage());
}

Warum das wichtig ist
Durch das frühzeitige Erkennen nicht unterstützter Formate können Sie Benutzer informieren, das Problem protokollieren oder auf eine OCR‑Lösung zurückgreifen, anstatt den gesamten Prozess zum Absturz zu bringen.

Praktische Anwendungen

Hier sind drei gängige Szenarien, in denen Suche mehrerer Schlüsselwörter in PDF glänzt:

  1. Rechtliche Dokumentenprüfung – Finden Sie Klauseln wie „force majeure“, „termination“ oder „confidentiality“ über Hunderte von Seiten hinweg.
  2. Rechnungsbearbeitung – Extrahieren Sie „invoice number“, „due date“ und „total amount“ in einem Durchlauf für die automatisierte Buchhaltung.
  3. Akademische Forschung – Durchsuchen Sie Fachartikel nach mehreren Terminologie‑Varianten (z. B. „machine learning“, „deep learning“, „neural network“).

Leistungsüberlegungen

  • Nur benötigte Seiten parsen: Wenn Sie die relevanten Abschnitte kennen, begrenzen Sie den Suchbereich, um den Speicherverbrauch zu reduzieren.
  • Verwenden Sie try‑with‑resources (wie gezeigt), um sicherzustellen, dass Parser sofort geschlossen werden und Speicherlecks vermieden werden.
  • Vermeiden Sie das Laden der gesamten PDF in den Speicher, wenn Sie mit sehr großen Dateien arbeiten; verarbeiten Sie sie nach Möglichkeit in Teilen.

Fazit

Sie haben jetzt einen vollständigen, produktionsbereiten Ansatz, um mehrere Schlüsselwörter in PDF‑Dokumenten zu suchen, die genauen Seitenzahlen abzurufen und nicht unterstützte Formate mit GroupDocs.Parser für Java elegant zu handhaben. Integrieren Sie diese Code‑Snippets in größere Workflows – Batch‑Verarbeitung, Web‑Services oder Desktop‑Utilities – um die Dokumentenanalyse in großem Umfang zu automatisieren.

Nächste Schritte

  • Experimentieren Sie mit Regex‑Mustern für komplexere Suchen.
  • Kombinieren Sie die Suchergebnisse mit einem PDF‑Writer (z. B. GroupDocs.Conversion), um Treffer hervorzuheben.
  • Erkunden Sie die Batch‑Verarbeitung, indem Sie über einen Ordner mit PDFs iterieren und die Ergebnisse in einer Datenbank speichern.

Häufig gestellte Fragen

F: Kann ich mehrere Schlüsselwörter gleichzeitig suchen?
A: Ja. Verwenden Sie einen Pipe‑getrennten String (z. B. "invoice|due date|total"), oder aktivieren Sie Regex in SearchOptions.

F: Was ist, wenn mein Dokument verschlüsselt ist?
A: Geben Sie das Passwort beim Erstellen des Parser an. Wenn Sie das Passwort nicht haben, wirft die Bibliothek eine Ausnahme, die Sie abfangen können.

F: Wie gehe ich effizient mit sehr großen PDF‑Dateien um?
A: Verarbeiten Sie die Datei seitenweise oder verwenden Sie SearchOptions, um den Umfang auf bestimmte Seitenbereiche zu beschränken.

F: Ist GroupDocs.Parser mit allen PDF‑Versionen kompatibel?
A: Es unterstützt die meisten PDF‑Standards (1.4‑1.7, PDF/A, PDF/X). Testen Sie stets mit Ihren konkreten Dateien.

F: Kann dies für die Batch‑Verarbeitung von Dokumenten verwendet werden?
A: Absolut. Durchlaufen Sie ein Verzeichnis, wenden Sie dieselbe Suchlogik an und speichern Sie die Ergebnisse jeder Datei.

Ressourcen


Zuletzt aktualisiert: 2026-04-21
Getestet mit: GroupDocs.Parser for Java 25.5
Autor: GroupDocs

{< /blocks/products/pf/tutorial-page-section >} {< /blocks/products/pf/main-container >} {< /blocks/products/pf/main-wrap-class >} {< blocks/products/products-backtop-button >}