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
SearchOptionsmoż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:
- Wyszukiwanie wielu słów kluczowych w PDF i pobieranie numerów stron – idealne dla „search pdf by page number”.
- 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‑sensitive –
falsesprawia, że wyszukiwanie jest nieczułe na wielkość liter. - Whole‑word –
falsepozwala na dopasowania częściowe. - Regex –
falsewyłącza parsowanie wyrażeń regularnych; ustawtrue, jeśli potrzebujesz regex. - Return page index –
truezapewnia, że każdySearchResultzawiera numer strony.
- Case‑sensitive –
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+1dla 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:
- Legal Document Review – Zlokalizuj klauzule takie jak „force majeure”, „termination” lub „confidentiality” w setkach stron.
- Invoice Processing – Wyodrębnij „invoice number”, „due date” i „total amount” w jednym przebiegu dla zautomatyzowanej księgowości.
- 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
- Documentation: GroupDocs.Parser Java Documentation
- API Reference: GroupDocs API Reference
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 >}