Ekstrahowanie danych z faktury przy użyciu parsowania Java – GroupDocs.Parser

W dzisiejszym dynamicznie rozwijającym się środowisku biznesowym, ekstrahowanie danych z faktury szybko i dokładnie jest kluczowym krokiem w automatyzacji procesów finansowych. Niezależnie od tego, czy obsługujesz jedną fakturę, czy przetwarzasz tysiące w partii, GroupDocs.Parser dla Javy pozwala definiować elastyczne szablony, używać wyrażeń regularnych i tworzyć pola powiązane, które dostosowują się do dowolnego układu dokumentu. W tym samouczku przeprowadzimy Cię przez konfigurację biblioteki, budowanie szablonu, który ekstrahuje dane z faktury, oraz parsowanie dokumentów w dużej skali.

Szybkie odpowiedzi

  • Co oznacza „ekstrahowanie danych z faktury”? Odnosi się do programowego pobierania pól takich jak numer faktury, data, podatek i kwota całkowita z plików PDF, DOCX lub obrazów.
  • Którą bibliotekę powinienem użyć? GroupDocs.Parser dla Javy zapewnia potężne ekstrakcje oparte na szablonach z obsługą wyrażeń regularnych.
  • Czy mogę przetwarzać wiele plików jednocześnie? Tak – połącz parser z technikami przetwarzania dokumentów wsadowych.
  • Czy potrzebna jest licencja? Darmowa wersja próbna lub tymczasowa licencja wystarczy do oceny; zakupiona licencja jest wymagana w środowisku produkcyjnym.
  • Czy jest odpowiednia dla Java 8+? Zdecydowanie – biblioteka obsługuje JDK 8 i nowsze wersje.

Co to jest „ekstrahowanie danych z faktury”?

Ekstrahowanie danych z faktury oznacza automatyczne znajdowanie i pobieranie kluczowych informacji — takich jak numer faktury, data, kwota podatku i suma — bezpośrednio z dokumentów cyfrowych, eliminując ręczne wprowadzanie danych.

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

  • Wysoka dokładność dzięki wyrażeniom regularnym i pozycjonowaniu pól powiązanych.
  • Obsługa wielu formatów (PDF, DOCX, obrazy).
  • Skalowalność – idealna zarówno dla pojedynczych dokumentów, jak i scenariuszy przetwarzania wsadowego.
  • Łatwa integracja z istniejącymi aplikacjami Java.

Prerequisites

  • JDK 8 lub wyższy.
  • IDE (IntelliJ IDEA, Eclipse, itp.).
  • Dostęp do biblioteki GroupDocs.Parser dla Javy (pobranie lub Maven).

Wymagane biblioteki, wersje i zależności

Dodaj repozytorium i zależność do swojego 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>

Możesz także pobrać najnowszy JAR z GroupDocs.Parser for Java releases.

Wymagania wiedzy

Podstawowa znajomość programowania w Javie oraz obsługi I/O plików ułatwi wykonywanie kolejnych kroków.

Konfiguracja GroupDocs.Parser dla Javy

  1. Dodaj zależność Maven (lub JAR) do swojego projektu.
  2. Uzyskaj licencję – możesz rozpocząć od darmowej wersji próbnej lub tymczasowej licencji dostępnej tutaj.
  3. Zainicjalizuj parser – poniższy fragment kodu pokazuje wymagane importy oraz prostą inicjalizację.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.*;
import com.groupdocs.parser.templates.*;

Jak tworzyć pola powiązane w szablonie

Pola powiązane pozwalają przechwycić dane, które pojawiają się w stałym odstępie od innego znanego pola (np. wartość podatku następująca po słowie „Tax”).

Definiowanie pola wyrażenia regularnego

Najpierw lokalizujemy etykietę Tax przy użyciu wzorca regex.

// Create a template field with a regex position
TemplateField regexField = new TemplateField(
        new TemplateRegexPosition("Tax"), 
        "Tax");

Konfiguracja pola powiązanego

Następnie definiujemy pole zawierające rzeczywistą kwotę podatku, pozycjonowane względem etykiety Tax.

// Create a linked field based on the position of 'Tax'
TemplateField linkedField = new TemplateField(
        new TemplateLinkedPosition(
                "Tax",
                new Size(100, 20),
                new TemplateLinkedPositionEdges(false, false, true, false)),
        "TaxValue");

Złożenie szablonu

Połącz pole regex oraz pole powiązane w jeden obiekt szablonu.

// Combine both fields into a comprehensive template
Template templateWithRegexAndLink = new Template(Arrays.asList(
        new TemplateItem[]{regexField, linkedField}));

Jak ekstrahować dane z faktury przy użyciu zdefiniowanego szablonu

Teraz, gdy szablon jest gotowy, możemy przetworzyć fakturę i pobrać żądane wartości.

Parsowanie dokumentu

Otwórz plik PDF (lub inny obsługiwany format) i zastosuj szablon.

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/InvoiceSample.pdf")) {
    // Extract data according to the defined template
    DocumentData data = parser.parseByTemplate(templateWithRegexAndLink);

Iteracja po wyekstrahowanych danych

Iteruj po wynikach i wypisz nazwę oraz wartość każdego pola.

    // Loop through all extracted data items
    for (int i = 0; i < data.getCount(); i++) {
        Object pageArea = data.get(i).getPageArea();
        if (pageArea instanceof PageTextArea) {
            PageTextArea area = (PageTextArea) pageArea;
            System.out.println(data.get(i).getName() + ": " + area.getText());
        } else {
            System.out.println(data.get(i).getName() + ": Not a template field");
        }
    }
}

Porady dotyczące rozwiązywania problemów

  • Zweryfikuj ścieżkę pliku i upewnij się, że dokument jest dostępny.
  • Przetestuj wyrażenie regularne w narzędziu takim jak regex101.com przed jego osadzeniem.
  • Dostosuj ustawienia Size i krawędzi w TemplateLinkedPosition, jeśli pole powiązane nie jest prawidłowo przechwycone.

Praktyczne zastosowania

Przykłady zastosowań w rzeczywistym świecie

  • Przetwarzanie faktur – automatyczne pobieranie numerów faktur, dat, podatku i sum dla systemów księgowych.
  • Zarządzanie umowami – ekstrakcja stron, dat obowiązywania i kluczowych klauzul.
  • Ekstrakcja danych klientów – pobieranie szczegółów zamówień z wypełnionych formularzy.

Możliwości integracji

Połącz wyekstrahowane dane z platformami ERP lub CRM, aby stworzyć kompleksowe zautomatyzowane przepływy pracy.

Porady dotyczące przetwarzania dokumentów wsadowych

Podczas pracy z przetwarzaniem dokumentów wsadowych, rozważ:

  • Ponowne użycie jednej instancji Parser dla wielu plików w celu zmniejszenia narzutu.
  • Uruchamianie zadań parsowania w równoległych strumieniach lub usługach executor.
  • Przechowywanie wyekstrahowanych wyników w bazie danych lub pliku CSV w celu dalszego raportowania.

Uwagi dotyczące wydajności

  • Uprość szablony – mniejsza liczba pól i prostsze wzorce regex przyspieszają parsowanie.
  • Zarządzaj pamięcią – zamykaj obiekty Parser niezwłocznie (jak pokazano przy użyciu try‑with‑resources).
  • Przetwarzaj w partiach – grupuj dokumenty, aby zrównoważyć obciążenie CPU i I/O.

Najczęściej zadawane pytania

P: Co to jest GroupDocs.Parser dla Javy?
O: To biblioteka Java, która ekstraktuje dane strukturalne z plików PDF, dokumentów Word, obrazów i innych, wykorzystując konfigurowalne szablony.

P: Jak skonfigurować projekt Maven z GroupDocs.Parser?
O: Dodaj repozytorium i <dependency> pokazane w powyższym bloku Maven do swojego pom.xml.

P: Czy mogę używać GroupDocs.Parser bez zakupu licencji?
O: Tak, możesz rozpocząć od darmowej wersji próbnej lub uzyskać tymczasową licencję do celów oceny.

P: Czym są pola powiązane w szablonach?
O: Pola powiązane to elementy szablonu, których pozycje są definiowane względem innego pola, co umożliwia precyzyjną ekstrakcję na podstawie układu.

P: Jak mogę skalować rozwiązanie dla tysięcy faktur?
O: Wdrożenie przetwarzania dokumentów wsadowych, ponowne użycie instancji parsera oraz rozważenie wielowątkowości pozwoli efektywnie obsłużyć duże wolumeny.

Podsumowanie

Korzystając z tego przewodnika, teraz wiesz, jak ekstrahować dane z faktury przy użyciu parsowania w Javie, wykorzystać wyrażenia regularne oraz tworzyć pola powiązane, które dostosowują się do dowolnego układu faktury. Eksperymentuj z różnymi szablonami, integruj wyniki ze swoim systemem finansowym i odkrywaj zaawansowane funkcje, takie jak konwertery danych i wsparcie OCR.


Last Updated: 2026-02-11
Tested With: GroupDocs.Parser 25.5
Author: GroupDocs