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:

  1. Dodaj repozytorium i zależność – skopiuj powyższy fragment XML do swojego pom.xml.
  2. Importuj wymagane klasy – klasy takie jak Parser, Template, DocumentPageData itp. znajdują się w pakiecie com.groupdocs.parser.
  3. Zainicjalizuj Parser – utwórz instancję Parser i 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

ObjawPrawdopodobna przyczynaRozwiązanie
Brak zwróconych wartości kodu kreskowegoWspółrzędne szablonu nie pasują do rzeczywistej lokalizacji kodu kreskowegoZweryfikuj współrzędne X/Y oraz rozmiar przy użyciu narzędzia pomiarowego w przeglądarce PDF.
Parser zgłasza FileNotFoundExceptionNieprawidłowa ścieżka documentPath lub brak uprawnień do odczytuUpewnij 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-achRozdzielczość obrazu jest zbyt niska dla skanera kodów kreskowychUż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-achParser przechowuje zbyt wiele stron w pamięciPrzetwarzaj PDF w mniejszych partiach lub zwiększ rozmiar sterty JVM (-Xmx2g).

Praktyczne zastosowania

  1. Zarządzanie zapasami – Automatyczne odczytywanie kodów kreskowych z PDF-ów dostawców w celu aktualizacji baz danych stanów magazynowych.
  2. Weryfikacja dokumentów prawnych – Wyodrębnianie kodów QR zawierających podpisy cyfrowe dla ścieżek audytu.
  3. 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‑resources zapewnia 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