Jak analizować strony dokumentu PDF według szablonu przy użyciu GroupDocs.Parser dla Javy
W dzisiejszym cyfrowym krajobrazie, jak analizować pdf pliki efektywnie jest powszechnym wyzwaniem dla programistów. Niezależnie od tego, czy musisz wyodrębnić kod QR, pobrać kody kreskowe, czy odczytać ustrukturyzowane pola z formularza, niezawodne rozwiązanie parsujące może zaoszczędzić niezliczone godziny. W tym przewodniku przeprowadzimy Cię przez jak analizować pdf strony według szablonu przy użyciu GroupDocs.Parser dla Javy, koncentrując się na wyodrębnianiu danych kodów kreskowych z dokumentów PDF.
Szybkie odpowiedzi
- Jakiej biblioteki użyć do parsowania pdf według szablonu? GroupDocs.Parser for Java.
- Jaki typ kodu kreskowego jest pokazany? QR code (można zmienić na inne typy).
- Czy potrzebna jest licencja? Darmowa wersja próbna działa do testów; stała licencja jest wymagana w produkcji.
- Czy mogę uruchomić to z Maven? Tak – wystarczy dodać repozytorium i zależność do pliku
pom.xml. - Jaka wersja Javy jest wymagana? JDK 8 lub wyższa.
Wymagania wstępne
Zanim zaczniemy, upewnij się, że masz:
- Java Development Kit (JDK) 8+ zainstalowany.
- Maven do zarządzania zależnościami (opcjonalny, ale zalecany).
- Podstawowa znajomość koncepcji programowania w Javie.
Wymagane biblioteki i zależności
Aby używać GroupDocs.Parser w swoim projekcie, dodaj następującą konfigurację Maven:
<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>
Alternatywnie, możesz bezpośrednio pobrać najnowszą wersję z GroupDocs.Parser for Java releases.
Uzyskanie licencji
Możesz rozpocząć od darmowej wersji próbnej GroupDocs.Parser, pobierając ją z ich oficjalnej strony. W przypadku dłuższego użytkowania rozważ uzyskanie tymczasowej licencji lub zakup poprzez ten link.
Konfiguracja GroupDocs.Parser dla Javy
Aby zintegrować GroupDocs.Parser w swoim projekcie przy użyciu Maven:
- Dodaj repozytorium i zależność – skopiuj powyższy fragment XML do swojego
pom.xml. - Importuj wymagane klasy – klasy takie jak
Parser,Template,DocumentPageDataitp. znajdują się w pakieciecom.groupdocs.parser. - Zainicjalizuj Parser – utwórz instancję
Parseri wskaż na PDF, który chcesz przetworzyć.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.DocumentPageData;
import com.groupdocs.parser.templates.Template;
import com.groupdocs.parser.templates.TemplateBarcode;
import com.groupdocs.parser.templates.Rectangle;
import com.groupdocs.parser.templates.Point;
import com.groupdocs.parser.templates.Size;
String documentPath = "YOUR_DOCUMENT_DIRECTORY/SamplePdfWithBarcodes";
try (Parser parser = new Parser(documentPath)) {
// Your parsing logic here
}
Jak parsować pdf według szablonu przy użyciu GroupDocs.Parser
Funkcja 1: Zdefiniuj pole kodu kreskowego (java extract qr code)
Najpierw opisujemy lokalizację i rozmiar kodu kreskowego na każdej stronie. Ten krok jest rdzeniem parsowania pdf według szablonu, ponieważ informuje parser dokładnie, gdzie szukać.
TemplateBarcode barcode = new TemplateBarcode(
new Rectangle(new Point(405, 55), new Size(100, 50)),
"QR");
Tutaj tworzymy TemplateBarcode, który celuje w kod QR umieszczony w współrzędnych (405, 55) o rozmiarze 100 × 50 pikseli.
Funkcja 2: Zbuduj szablon (java read barcode pdf)
Następnie otaczamy definicję kodu kreskowego obiektem Template. Ten szablon może być używany ponownie dla każdej strony w dokumencie.
Template template = new Template(Arrays.asList(new com.groupdocs.parser.templates.TemplateItem[]{barcode}));
Funkcja 3: Parsuj strony dokumentu według szablonu (extract barcode from pdf)
Teraz iterujemy po każdej stronie, stosujemy szablon i zbieramy wartości kodów kreskowych.
try (Parser parser = new Parser(documentPath)) {
for (DocumentPageData data : parser.parsePagesByTemplate(template)) {
for (int i = 0; i < data.getCount(); i++) {
com.groupdocs.parser.templates.PageBarcodeArea area = data.get(i).getPageArea() instanceof com.groupdocs.parser.templates.PageBarcodeArea
? (com.groupdocs.parser.templates.PageBarcodeArea) data.get(i).getPageArea()
: null;
String result = area == null ? "Not a template barcode field" : area.getValue();
}
}
}
Pętla sprawdza, czy zidentyfikowany obszar jest PageBarcodeArea. Jeśli tak, pobieramy wartość tekstową kodu kreskowego.
Funkcja 4: Wydrukuj wyodrębnione dane kodu kreskowego (java extract qr code)
Do szybkiej weryfikacji możesz wydrukować każdą wartość kodu kreskowego w konsoli:
try (Parser parser = new Parser(documentPath)) {
for (DocumentPageData data : parser.parsePagesByTemplate(template)) {
for (int i = 0; i < data.getCount(); i++) {
com.groupdocs.parser.templates.PageBarcodeArea area = data.get(i).getPageArea() instanceof com.groupdocs.parser.templates.PageBarcodeArea
? (com.groupdocs.parser.templates.PageBarcodeArea) data.get(i).getPageArea()
: null;
String result = area == null ? "Not a template barcode field" : area.getValue();
System.out.println(result);
}
}
}
Uruchomienie tego fragmentu kodu wypisze każdą wyodrębnioną wartość kodu kreskowego (lub kodu QR), co pozwoli potwierdzić, że jak parsować pdf działało zgodnie z oczekiwaniami.
Dlaczego używać GroupDocs.Parser dla Javy do parsowania pdf według szablonu?
- Precyzja – Szablony pozwalają celować w dokładne współrzędne, eliminując fałszywe trafienia.
- Wydajność – Parsowanie odbywa się strona po stronie, co utrzymuje niskie zużycie pamięci nawet przy dużych plikach PDF.
- Elastyczność – Obsługuje wiele typów kodów kreskowych (QR, Code128, DataMatrix itp.) i może być rozszerzona o inne typy pól.
- Cross‑platform – Działa na każdej platformie obsługującej Java 8+, co czyni go idealnym do przetwarzania po stronie serwera.
Częste problemy i rozwiązania
| Objaw | Prawdopodobna przyczyna | Rozwiązanie |
|---|---|---|
| Brak zwróconych wartości kodu kreskowego | Współrzędne szablonu nie pasują do rzeczywistej lokalizacji kodu kreskowego | Zweryfikuj współrzędne X/Y oraz rozmiar przy użyciu narzędzia pomiarowego w przeglądarce PDF. |
Parser zgłasza FileNotFoundException | Nieprawidłowa ścieżka documentPath lub brak uprawnień do odczytu | Upewnij się, że ścieżka jest absolutna lub względna względem katalogu głównego projektu oraz że plik jest czytelny. |
| Niska dokładność wykrywania w zeskanowanych PDF-ach | Rozdzielczość obrazu jest zbyt niska dla skanera kodów kreskowych | Użyj skanu o wyższej rozdzielczości (300 dpi lub więcej) lub wstępnie przetwórz PDF przy użyciu filtru wyostrzającego. |
| Błędy braku pamięci przy dużych PDF-ach | Parser przechowuje zbyt wiele stron w pamięci | Przetwarzaj PDF w mniejszych partiach lub zwiększ rozmiar sterty JVM (-Xmx2g). |
Praktyczne zastosowania
- Zarządzanie zapasami – Automatyczne odczytywanie kodów kreskowych z PDF-ów dostawców w celu aktualizacji baz danych stanów magazynowych.
- Weryfikacja dokumentów prawnych – Wyodrębnianie kodów QR zawierających podpisy cyfrowe dla ścieżek audytu.
- Migracja danych – Używanie kodów kreskowych jako unikalnych identyfikatorów przy przenoszeniu rekordów między starszymi systemami.
Rozważania dotyczące wydajności
- Szybko zamykaj Parser – blok
try‑with‑resourceszapewnia zwolnienie uchwytu pliku. - Monitoruj pamięć – Duże pliki PDF mogą zużywać znaczną część sterty; rozważ strumieniowanie lub przetwarzanie w częściach.
Podsumowanie
Masz teraz kompletny, gotowy do produkcji przewodnik po jak parsować pdf strony według szablonu przy użyciu GroupDocs.Parser dla Javy. Definiując szablon kodu kreskowego, iterując po stronach i wyodrębniając wartości, możesz zautomatyzować praktycznie każdy proces oparty na kodach kreskowych.
Kolejne kroki
- Eksperymentuj z innymi typami kodów kreskowych (np. Code128, DataMatrix), zmieniając drugi argument
TemplateBarcode. - Połącz wiele obiektów
TemplateBarcode, aby obsłużyć mieszane układy kodów kreskowych na jednej stronie. - Zagłęb się w API, przeglądając dokumentację GroupDocs.Parser dotyczącą wyodrębniania tekstu, obrazów oraz tworzenia własnych szablonów.
Sekcja FAQ
Q: Czy mogę parsować kody kreskowe ze zeskanowanych dokumentów?
A: Tak, pod warunkiem że są w formacie PDF. Upewnij się, że rozdzielczość jest wystarczająco wysoka, aby dokładnie wykryć kod kreskowy.
Q: Jak obsłużyć wiele typów kodów kreskowych na jednej stronie?
A: Zdefiniuj dodatkowe instancje TemplateBarcode z ich odpowiednimi współrzędnymi i rozmiarami.
Q: Co jeśli mój dokument zawiera obrazy zamiast PDF‑ów?
A: GroupDocs.Parser działa głównie na dokumentach tekstowych. Rozważ najpierw konwersję obrazów do przeszukiwalnych PDF‑ów.
Q: Czy można wyodrębnić dane z zaszyfrowanych PDF‑ów?
A: Możesz potrzebować odszyfrować PDF przy użyciu dodatkowych bibliotek przed parsowaniem.
Ostatnia aktualizacja: 2026-02-11
Testowano z: GroupDocs.Parser 25.5 for Java
Autor: GroupDocs