Wyszukiwanie wielu słów kluczowych w PDF przy użyciu GroupDocs.Parser dla Javy

Przeglądanie dokumentów PDF w celu znalezienia określonego tekstu może być trudne, szczególnie przy dużych plikach lub wielu stronach. Jeśli potrzebujesz wyszukać wiele słów kluczowych w PDF szybko i niezawodnie, biblioteka GroupDocs.Parser dla Javy zapewnia czyste, wysokowydajne rozwiązanie. Ten samouczek przeprowadzi Cię przez konfigurację biblioteki, wyszukiwanie po numerze strony oraz obsługę nieobsługiwanych formatów — wszystko z przykładami, które możesz skopiować do swojego projektu.

Szybkie odpowiedzi

  • Jaką bibliotekę użyć do wyszukiwania wielu słów kluczowych w PDF? GroupDocs.Parser for Java.
  • Czy można ograniczyć wyniki do konkretnych numerów stron? Tak, używając SearchOptions możesz pobrać indeks strony dla każdego dopasowania.
  • Czy potrzebna jest licencja do rozwoju? Darmowa wersja próbna wystarcza do testów; licencja płatna jest wymagana w środowisku produkcyjnym.
  • Czy regex jest obsługiwany? Absolutnie – włącz go w SearchOptions.
  • Jaka wersja Javy jest wymagana? Java 8 lub wyższa z narzędziami budowania Maven lub Gradle.

Co to jest „wyszukiwanie wielu słów kluczowych w pdf”?

Kiedy musisz zlokalizować kilka terminów — takich jak „invoice”, „due date” lub „total” — w dużym PDF, jednoprzebiegowe wyszukiwanie zwracające numery stron dla każdego trafienia oszczędza czas i upraszcza kod. GroupDocs.Parser abstrahuje niskopoziomowe parsowanie PDF, oferując prostą API do wykonywania takich zapytań wielowyrazowych.

Dlaczego warto używać GroupDocs.Parser dla Javy?

  • Dokładny ekstrakt tekstu nawet ze skanowanych lub złożonych PDF‑ów.
  • Wbudowane indeksowanie stron dzięki czemu dokładnie wiesz, gdzie pojawia się każde słowo kluczowe.
  • Obsługa wyjątków dla nieobsługiwanych formatów, zaszyfrowanych plików i dokumentów wymagających dużej ilości pamięci.
  • Integracja Maven bez zależności dla szybkiego uruchomienia projektu.

Wymagania wstępne

  • Java 8+ i IDE kompatybilne z Maven (IntelliJ IDEA, Eclipse itp.).
  • GroupDocs.Parser for Java (wersja 25.5 lub nowsza).
  • Podstawowa znajomość obsługi wyjątków w Javie oraz operacji I/O.

Konfiguracja GroupDocs.Parser dla Javy

Możesz dodać bibliotekę przez Maven lub pobrać ją bezpośrednio.

Korzystanie z Maven

Dodaj repozytorium i zależność do pliku pom.xml:

<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>

Bezpośrednie pobranie

Alternatywnie, pobierz najnowszą wersję z GroupDocs.Parser for Java releases.
License Acquisition: Rozpocznij od darmowej wersji próbnej lub poproś o tymczasową licencję, aby przetestować GroupDocs.Parser. Do długoterminowego użytku rozważ zakup licencji.

Podstawowa inicjalizacja i konfiguracja

Gdy biblioteka jest dostępna, jej inicjalizacja jest prosta:

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());
}

Przewodnik implementacji

Podzielimy implementację na dwie praktyczne funkcje:

  1. Wyszukiwanie wielu słów kluczowych w PDF i pobieranie numerów stron – idealne dla „search pdf by page number”.
  2. Graceful error handling for unsupported document formats.

Funkcja 1: Wyszukiwanie wielu słów kluczowych w PDF i pobieranie indeksów stron

Przegląd

Metoda search GroupDocs.Parser, w połączeniu z SearchOptions, pozwala zlokalizować dowolny termin (lub wzorzec wyrażenia regularnego) i zwraca zarówno pozycję znaku, jak i indeks strony.

Krok po kroku

Step 1 – Import the required classes

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

Step 2 – Initialise the parser and configure 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());
}

Explanation of key parameters

  • filePath: Ścieżka do PDF, który chcesz przeszukać.
  • SearchOptions(false, false, false, true):
    • Case‑sensitivefalse sprawia, że wyszukiwanie jest nieczułe na wielkość liter.
    • Whole‑wordfalse pozwala na dopasowania częściowe.
    • Regexfalse wyłącza parsowanie wyrażeń regularnych; ustaw true, jeśli potrzebujesz regex.
    • Return page indextrue zapewnia, że każdy SearchResult zawiera numer strony.

Tip: Ciąg wyszukiwania "invoice|due date|total" używa operatora pipe (|) do wyszukiwania wielu słów kluczowych w jednym wywołaniu.

Rozwiązywanie problemów

  • Empty results: Zweryfikuj, czy PDF rzeczywiście zawiera tekst możliwy do zaznaczenia (a nie tylko obrazy).
  • Incorrect page numbers: Pamiętaj, że getPageIndex() jest zerowo‑indeksowane; dodaj +1 dla numeracji przyjaznej użytkownikowi.

Funkcja 2: Obsługa błędów dla nieobsługiwanych formatów dokumentów

Przegląd

Nie każdy plik można sparsować pod kątem tekstu (np. niektóre zaszyfrowane lub wyłącznie obrazowe PDF‑y). Przechwycenie UnsupportedDocumentFormatException pozwala aplikacji zakończyć działanie w sposób kontrolowany.

Implementacja

Step 1 – Wrap parser creation in a try‑catch block

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());
}

Why this matters
Wczesne wykrycie nieobsługiwanych formatów umożliwia poinformowanie użytkowników, zalogowanie problemu lub przejście do rozwiązania OCR zamiast awarii całego procesu.

Praktyczne zastosowania

Oto trzy typowe scenariusze, w których wyszukiwanie wielu słów kluczowych w PDF sprawdza się doskonale:

  1. Legal Document Review – Zlokalizuj klauzule takie jak „force majeure”, „termination” lub „confidentiality” w setkach stron.
  2. Invoice Processing – Wyodrębnij „invoice number”, „due date” i „total amount” w jednym przebiegu dla zautomatyzowanej księgowości.
  3. Academic Research – Przeskanuj prace naukowe pod kątem wielu wariantów terminologii (np. „machine learning”, „deep learning”, „neural network”).

Rozważania dotyczące wydajności

  • Parse only needed pages: Jeśli znasz istotne sekcje, ogranicz zakres wyszukiwania, aby zmniejszyć zużycie pamięci.
  • Use try‑with‑resources (as shown) to ensure parsers are closed promptly, preventing memory leaks.
  • Avoid loading the entire PDF into memory when dealing with very large files; process in chunks if possible.

Zakończenie

Masz teraz kompletną, gotową do produkcji metodę wyszukiwania wielu słów kluczowych w PDF, pobierania dokładnych numerów stron oraz obsługi nieobsługiwanych formatów przy użyciu GroupDocs.Parser dla Javy. Włącz te fragmenty kodu do większych przepływów pracy — przetwarzania wsadowego, usług webowych lub aplikacji desktopowych — aby automatyzować analizę dokumentów na dużą skalę.

Kolejne kroki

  • Eksperymentuj z wzorcami regex dla bardziej złożonych wyszukiwań.
  • Połącz wyniki wyszukiwania z pisarzem PDF (np. GroupDocs.Conversion), aby podświetlić dopasowania.
  • Zbadaj przetwarzanie wsadowe, iterując po folderze PDF‑ów i zapisując wyniki w bazie danych.

Najczęściej zadawane pytania

Q: Czy mogę wyszukać wiele słów kluczowych jednocześnie?
A: Tak. Użyj ciągu oddzielonego pionową kreską (np. "invoice|due date|total") lub włącz regex w SearchOptions.

Q: Co zrobić, jeśli mój dokument jest zaszyfrowany?
A: Podaj hasło przy tworzeniu Parser. Jeśli nie masz hasła, biblioteka wyrzuci wyjątek, który możesz przechwycić.

Q: Jak efektywnie obsługiwać bardzo duże pliki PDF?
A: Przetwarzaj plik strona po stronie lub użyj SearchOptions, aby ograniczyć zakres do konkretnych przedziałów stron.

Q: Czy GroupDocs.Parser jest kompatybilny ze wszystkimi wersjami PDF?
A: Obsługuje większość standardów PDF (1.4‑1.7, PDF/A, PDF/X). Zawsze testuj na własnych plikach.

Q: Czy można używać tego rozwiązania do przetwarzania wsadowego dokumentów?
A: Absolutnie. Przejdź przez katalog, zastosuj tę samą logikę wyszukiwania i zapisz wyniki dla każdego pliku.

Zasoby


Ostatnia aktualizacja: 2026-04-21
Tested With: 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 >}