Hogyan végezzünk java pdf táblázat kinyerést a GroupDocs.Parser segítségével

PDF fájlokból a táblázatok kinyerése gyakori igény, amikor statikus dokumentumokat kell strukturált adatokba átalakítani. Ebben az útmutatóban megtanulja, hogyan nyerjen ki táblázatokat PDF‑ekből a GroupDocs.Parser Java könyvtár segítségével. Kitérünk a környezet beállítására, a táblázat‑elrendezés konfigurálására, és arra, hogyan exportáljon pdf táblázatokat csv‑be a további feldolgozáshoz. A végére képes lesz megbízható táblázat‑kinyerést integrálni bármely Java‑alapú adatcsővezetékbe.

Gyors válaszok

  • Mi a fő könyvtár? GroupDocs.Parser for Java
  • Kinyerhetek táblázatokat beolvasott PDF‑ekből? Csak OCR után; lásd az alábbi “extract tables scanned pdf” megjegyzést
  • Szükségem van licencre? A próbaverzió licenc fejlesztéshez működik; a teljes licenc a termeléshez kötelező
  • Melyik Java verzió szükséges? Java 8 vagy újabb
  • Támogatott a kötegelt feldolgozás? Igen – az API nagy‑léptékű kinyerésre van optimalizálva

Mi az a java pdf táblázat kinyerés?

Java pdf táblázat kinyerés a folyamat, amely programozottan megtalálja a PDF‑ben lévő táblázati struktúrákat, értelmezi a cellák határait, és a szöveget gép‑olvasható formátumban, például CSV‑ben vagy Excel‑ben adja vissza. Ez lehetővé teszi a további elemzéseket, jelentéseket vagy migrációs feladatokat manuális másolás‑beillesztés nélkül.

Miért használja a GroupDocs.Parser‑t java pdf táblázat kinyeréshez?

GroupDocs.Parser pontos elrendezés‑detektálást biztosít több mint 50 + bemeneti és kimeneti formátumra, és képes több száz oldalas PDF‑eket feldolgozni, miközben a memóriahasználat 200 MB alatt marad. Támogatja a kötegelt feladatokat, egyszerű Maven függőséget kínál, és zökkenőmentesen integrálódik a GroupDocs OCR‑rel a beolvasott dokumentumok esetén.

Előfeltételek

Mielőtt elkezdenénk, győződjön meg róla, hogy a következőkkel rendelkezik:

  • Java 8+ telepítve és konfigurálva van az IDE‑jében vagy a build eszközben.
  • Maven a függőségkezeléshez.
  • Hozzáférés egy GroupDocs.Parser licenchez (próba vagy teljes).

Szükséges könyvtárak és függőségek

Szüksége lesz:

  • GroupDocs.Parser for Java könyvtárra (25.5 vagy újabb verzió).
  • Maven telepítve a rendszerén a függőségkezeléshez.

Környezet beállítása

Győződjön meg róla, hogy a fejlesztői környezete kompatibilis Java verzióval van beállítva (Java 8 vagy újabb).

Tudás előfeltételek

Alapvető Java programozási ismeretek és a fájlkezelés ismerete Java‑ban hasznos lesz.

A GroupDocs.Parser beállítása Java‑hoz

A GroupDocs.Parser használatának megkezdéséhez integrálja a projektjébe a következő módon:

Maven beállítás
Adja hozzá a következő konfigurációt a pom.xml fájlhoz, hogy a GroupDocs.Parser függőségként legyen felvéve:

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

Közvetlen letöltés
Alternatív megoldásként töltse le a legújabb GroupDocs.Parser for Java verziót a GroupDocs releases oldalról.

Licenc beszerzése

Kezdje egy ingyenes próbaverzióval, szerezzen be egy ideiglenes licencet, vagy vásároljon teljes licencet. Részletekért látogassa meg a GroupDocs licencoldalt.

Alap inicializálás és beállítás

Inicializálja a GroupDocs.Parser‑t a Java alkalmazásában a következőképpen:

import com.groupdocs.parser.Parser;

public class DocumentParser {
    public static void main(String[] args) {
        final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
        try (Parser parser = new Parser(filePath)) {
            // Ready to perform operations on the document
        } catch (Exception e) {
            System.err.println("Error creating Parser instance: " + e.getMessage());
        }
    }
}

Implementációs útmutató

Vessünk egy pillantást minden funkcióra, amelyet meg kell tanulnia a táblázatok kinyeréséhez egy PDF‑ből.

1. funkció: dokumentum elemzés a GroupDocs‑szal

Áttekintés
A PDF dokumentummal való interakcióhoz hozzon létre egy Parser osztálypéldányt.
A Parser a belépési pont osztály a PDF tartalom olvasásához a GroupDocs.Parser‑ben. Ez lehetővé teszi a dokumentum különféle műveleteit.

Parser példány létrehozása
A Parser osztály a belépési pont a PDF tartalom olvasásához a GroupDocs.Parser‑ben. Betölti a dokumentumot a memóriába, és olyan metódusokat biztosít, amelyekkel szöveget, táblázatokat és egyéb struktúrákat nyerhet ki.

import com.groupdocs.parser.Parser;

public class CreateParserInstance {
    public static void main(String[] args) {
        final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
        try (Parser parser = new Parser(filePath)) {
            // Document is ready for operations
        } catch (Exception e) {
            System.err.println("Error creating Parser instance: " + e.getMessage());
        }
    }
}

2. funkció: táblázat‑kinyerés képesség ellenőrzése

Áttekintés
A táblázatok kinyerése előtt ellenőrizze, hogy a PDF támogatja-e a táblázat‑kinyerést.

Táblázat támogatás ellenőrzése
A hasTables() metódus egy boolean értéket ad vissza, amely jelzi, hogy a betöltött PDF tartalmaz‑e felismerhető táblázati adatot.
A hasTables() ellenőrzi, hogy a dokumentum tartalmaz‑e táblázatot.

import com.groupdocs.parser.Parser;

public class CheckTableSupport {
    public static void main(String[] args) {
        final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
        try (Parser parser = new Parser(filePath)) {
            boolean isTablesSupported = parser.getFeatures().isTables();
            
            if (!isTablesSupported) {
                System.out.println("Document doesn't support tables extraction.");
            }
        } catch (Exception e) {
            System.err.println("Error checking table extraction capability: " + e.getMessage());
        }
    }
}

3. funkció: táblázat‑elrendezés konfigurálása

Áttekintés
A táblázatok elrendezésének konfigurálása javíthatja az adatkinyerés pontosságát.

Táblázat elrendezés beállítása
A TemplateTableLayout meghatározza a várt oszlopszélességeket és sormagasságokat.
A TemplateTableLayout egyedi oszlopszélességeket és sormagasságokat ad meg a táblázat‑detektáláshoz. Ezeknek az értékeknek a finomhangolása segít a motornak, hogy a cellahatárokat a vizuális rácshoz igazítsa.

import com.groupdocs.parser.templates.TemplateTableLayout;
import java.util.Arrays;

public class ConfigureTableLayout {
    public static void main(String[] args) {
        final double[] columnWidths = {50.0, 95.0, 275.0, 415.0, 485.0, 545.0};
        final double[] rowHeights = {325.0, 340.0, 365.0, 395.0};

        TemplateTableLayout layout = new TemplateTableLayout(
                Arrays.asList(columnWidths), 
                Arrays.asList(rowHeights));
    }
}

4. funkció: táblázat‑kinyerési opciók beállítása

Áttekintés
Állítson be opciókat a táblázatok kinyeréséhez specifikus konfigurációkkal a pontosság növelése érdekében.

Kinyerési opciók konfigurálása
A TableExtractionOptions lehetővé teszi, hogy megadja, legyen‑e fejlécsor, egyesítse‑e a cellákat, vagy hagyja‑e figyelmen kívül az üres sorokat.
A TableExtractionOptions beállítja a kinyerés viselkedését, például a fejlécek vagy a cellák egyesítése.

import com.groupdocs.parser.options.PageTableAreaOptions;
import com.groupdocs.parser.templates.TemplateTableLayout;

public class SetExtractionOptions {
    public static void main(String[] args) {
        TemplateTableLayout layout = new TemplateTableLayout(
                Arrays.asList(new Double[]{50.0, 95.0, 275.0, 415.0, 485.0, 545.0}), 
                Arrays.asList(new Double[]{325.0, 340.0, 365.0, 395.0}));

        PageTableAreaOptions options = new PageTableAreaOptions(layout);
    }
}

5. funkció: táblázatok kinyerése egy dokumentumból

Áttekintés
A konfigurált opciók segítségével nyerjen ki táblázatokat, és dolgozza fel őket igény szerint.

Kinyerési folyamat
A getTables() metódus egy Table objektumok gyűjteményét adja vissza, amelyek mindegyike egy a kért oldalakon észlelt táblázatot képvisel.
A getTables() visszaadja a dokumentumból az összes észlelt táblázatot.
A Table egyetlen kinyert táblázatot reprezentál sorokkal és cellákkal.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.PageTableAreaOptions;
import com.groupdocs.parser.data.PageTableArea;

public class ExtractTables {
    public static void main(String[] args) {
        final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
        PageTableAreaOptions options = new PageTableAreaOptions(/* layout from previous feature */);

        try (Parser parser = new Parser(filePath)) {
            Iterable<PageTableArea> tables = parser.getTables(options);
            
            for (PageTableArea table : tables) {
                // Process each table as needed
            }
        } catch (Exception e) {
            System.err.println("Error extracting tables: " + e.getMessage());
        }
    }
}

6. funkció: táblázatsorok és -oszlopok iterálása

Áttekintés
A kinyerés után iteráljon a sorokon és oszlopokon, hogy elérje az egyes cellákat.

Iterálás és cellák elérése
Minden Table biztosítja a getRows()‑t, és minden Row a getCells()‑t. A cella szövegét a getText()‑vel olvashatja, és CSV‑be vagy bármely más formátumba írhatja.
A Row egyetlen sort képvisel egy Table‑ben.
A getRows() visszaadja a táblázat sorainak listáját.
A getCells() visszaadja egy sor celláit.
A getText() visszaadja egy cella szöveges tartalmát.

import com.groupdocs.parser.data.PageTableArea;
import com.groupdocs.parser.data.PageTableAreaCell;

public class IterateTables {
    public static void main(String[] args) {
        PageTableArea table = /* reference to a specific PageTableArea object */;

        for (int row = 0; row < table.getRowCount(); row++) {
            for (int column = 0; column < table.getColumnCount(); column++) {
                PageTableAreaCell cell = table.getCell(row, column);
                if (cell != null) {
                    // Process the cell text as needed
                }
            }
        }
    }
}

Gyakori problémák és megoldások

IssueWhy it happensPro tip
Nem található táblázatA PDF beolvasott (képalapú)Először futtasson OCR‑t, vagy használja a GroupDocs OCR‑t a feldolgozás előtt.
Helytelen oszlopigazításAz elrendezés koordinátái hibásakTemplateTableLayout értékek finomhangolása a vizuális rácshoz.
Memóriacsúcsok nagy PDF‑eknélA Parser betölti a teljes dokumentumot a memóriábaDolgozza fel az oldalakat kötegekben, és zárja le a Parser‑t minden köteg után.

Gyakran ismételt kérdések

1. Kinyerhetek táblázatokat beolvasott PDF‑ekből vagy csak digitális PDF‑ekből?

Válasz: A GroupDocs.Parser elsősorban digitális, kiválasztható PDF‑ekkel működik, amelyek beágyazott szöveget tartalmaznak. Beolvasott PDF‑ek esetén először OCR‑t kell futtatni – akár a GroupDocs OCR‑val, akár egy másik OCR motorral – hogy a szöveg kereshető legyen a táblázat‑kinyerés előtt.

2. Hogyan kezeljek komplex elrendezésű vagy egyesített cellákat tartalmazó táblázatokat?

Válasz: Testreszabhatja a TemplateTableLayout‑ot pontos oszlop‑ és sor‑koordinátákkal, vagy engedélyezheti a mergeCells jelzőt a TableExtractionOptions‑ban. Utófeldolgozásra lehet szükség az egyesített területek helyes értelmezéséhez.

3. Alkalmas a GroupDocs.Parser nagy dokumentumokra vagy kötegelt feldolgozásra?

Válasz: Igen. A könyvtár nagy áteresztőképességű forgatókönyvekhez készült, és képes több száz oldalas PDF‑eket feldolgozni, miközben alacsony a memóriahasználat. Használjon oldal‑tartomány opciókat, és a Parser példányt minden köteg után szabadítsa fel a teljesítmény maximalizálása érdekében.

4. Exportálhatom a kinyert táblázat adatokat CSV‑ vagy Excel‑formátumba?

Válasz: A GroupDocs.Parser nyers táblázat adatokat (sorok és cellák) ad vissza. Egyszerűen írhatja ezeket CSV‑be az OpenCSV‑vel vagy Excel‑be az Apache POI‑val. Ez teljesíti az export pdf tables csv felhasználási esetet további licenc nélkül.

5. Támogatott a táblázatok kinyerése több oldalról egyszerre?

Válasz: Teljesen. Hívja a parser.getTables(pageOptions)‑t egy oldal‑tartománnyal vagy iteráljon az összes oldalon. Az API összegyűjti a táblázatokat az oldalak között, lehetővé téve egyetlen konszolidált adathalmaz felépítését.

Következtetés

Java pdf táblázat kinyerés egyszerűvé válik a GroupDocs.Parser-rel. A Parser inicializálásával, a táblázat‑támogatás megerősítésével, az elrendezés és kinyerési opciók konfigurálásával, valamint a kapott Table objektumok iterálásával statikus PDF‑eket alakíthat strukturált CSV‑ vagy Excel‑fájlokká. A könyvtár teljesítmény‑orientált tervezése, több mint 50 formátum támogatása és a zökkenőmentes OCR integrációja ideálissá teszi számlázási automatizálásra, adat‑migrációra és nagy‑léptékű analitikai csővezetékekre. A fenti lépésekkel készen áll a megbízható táblázat‑kinyerés beágyazására bármely Java alkalmazásba.


Legutóbb frissítve: 2026-09-17
Tesztelve ezzel: GroupDocs.Parser 25.5 (Java)
Szerző: GroupDocs

Kapcsolódó oktatóanyagok