Java Dokumentumfeldolgozás: Képek kinyerése dokumentumokból a GroupDocs.Parser segítségével

Ebben az átfogó útmutatóban megismerheted a java document parsing technikákat, amelyekkel a GroupDocs.Parser for Java segítségével különféle fájltípusokból nyerhetők ki képek. Végigvezetünk a könyvtár beállításán, egy egyéni ExternalResourceHandler létrehozásán, és az intelligens szűrés alkalmazásán, hogy csak a valóban szükséges erőforrásokat töltsd be—segítve a memóriahasználat csökkentését és a feldolgozás felgyorsítását.

Gyors válaszok

  • Mi a GroupDocs.Parser feladata? Több mint 50 fájlformátumot dolgoz fel, és programozott használatra hozzáférést biztosít a szöveghez, képekhez és egyéb beágyazott erőforrásokhoz.
  • Kihagyhatom a nem kívánt képeket? Igen — valós időben szűrheted az erőforrásokat egy egyéni ExternalResourceHandler megvalósításával.
  • Melyik Maven verzió szükséges? Használd a GroupDocs.Parser Java 25.5‑öt vagy újabbat.
  • Szükség van licencre? Ingyenes próba elérhető értékeléshez; a termeléshez állandó licenc szükséges.
  • Ez a megközelítés szálbiztos? Hozz létre egy külön Parser példányt szálanként; az objektumok nincsenek megosztva.

Mi az a „képek kinyerése dokumentumokból”?

A képek kinyerése dokumentumokból azt jelenti, hogy programozott módon lekérdezed a beágyazott képfájlokat, hogy tárolhasd, megjeleníthesd vagy tovább feldolgozhassd őket az eredeti fájlon kívül. Ez a művelet elengedhetetlen, ha bélyegképekre, adatmegjelenítésre vagy a médiaeszközök újrahasznosítására van szükség a teljes forrásdokumentum megtartása nélkül.

Miért szűrjünk erőforrásokat képek kinyerése közben?

Az erőforrások szűrése képek kinyerése közben lehetővé teszi, hogy a memóriahasználatot akár 70 %‑kal csökkentsd nagy fájlok feldolgozása során, mivel a nem kívánt binárisok sosem kerülnek a JVM heapbe. Emellett növeli a biztonságot, mivel megakadályozza a potenciálisan veszélyes tartalom betöltését, és felgyorsítja a folyamatot — százezres díszítő grafikákat tartalmazó nagy szerződések is töredék részében feldolgozhatók az eredeti időhez képest.

Előfeltételek

  • Java Development Kit (JDK) – 8 as vagy újabb verzió.
  • Maven – a függőségkezeléshez.
  • Alapvető ismeretek a Java I/O‑ról és a kivételkezelésről.

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

Add hozzá a GroupDocs tárolót és a parser függőséget a pom.xml‑hez:

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

Alternatívaként töltsd le a legújabb verziót a GroupDocs.Parser for Java releases oldalról.

Licenc beszerzése

  • Free Trial – a fő funkciók költség nélkül való felfedezése.
  • Temporary License – a teljes funkcionalitás feloldása értékelés közben.
  • Purchased License – kereskedelmi üzembe helyezéshez szükséges.

Hogyan szűrjünk erőforrásokat képek kinyerése közben

Az erőforrások szűréséhez valósíts meg egy ExternalResourceHandler‑t, amely eldönti, mely beágyazott fájlok legyenek betöltve. Regisztráld ezt a kezelőt a ParserSettings‑ben a dokumentum megnyitása előtt, majd hívd meg a parse‑ert. A kezelő megkapja minden erőforrás metaadatait, így elfogadhatod vagy elutasíthatod őket típus, méret vagy név alapján, biztosítva, hogy csak a szükséges képek legyenek feldolgozva.

1. lépés: Egyedi kezelő létrehozása

ExternalResourceHandler egy interfész, amely lehetővé teszi, hogy eldöntsd, egy adott külső erőforrás — például egy kép — betöltődjön-e. Implementáld az onLoading metódust, és térj vissza true‑val a megtartani kívánt erőforrások esetén, false‑val a kihagyandók esetén. Az onLoading metódus megkapja az erőforrás metaadatait, és true‑t kell visszaadnia a betöltéshez, vagy false‑t a kihagyáshoz.

import com.groupdocs.parser.options.ExternalResourceHandler;
import com.groupdocs.parser.data.ExternalResourceLoadingArgs;

class Handler extends ExternalResourceHandler {
    @Override
    public void onLoading(ExternalResourceLoadingArgs args) {
        if (!args.getUri().endsWith("installation.png")) {
            args.setSkipped(true);
        }
        super.onLoading(args);
    }
}

2. lépés: ParserSettings konfigurálása a kezelővel

ParserSettings egy konfigurációs osztály, amely olyan beállításokat tartalmaz, mint az egyedi kezelők, detektálási beállítások és teljesítményfinomítások a parser számára. Add át a kezelő példányát a ParserSettings‑nek a dokumentum megnyitása előtt.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
import com.groupdocs.parser.exceptions.IOException;
import com.groupdocs.parser.options.ParserSettings;

public class LoadExternalResources {
    public static void run() throws IOException {
        ParserSettings settings = new ParserSettings(new Handler());
        
        try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY", settings)) {
            Iterable<PageImageArea> images = parser.getImages();
            
            for (PageImageArea image : images) {
                System.out.println(image.getFileType());
            }
        }
    }
}

3. lépés: A szűrési logika finomhangolása

Ha összetettebb szabályokra van szükséged — például méret, formátum vagy URI minta alapján történő szűrésre — bővítsd ki ennek megfelelően az onLoading metódust. Például kihagyhatsz minden 2 MB‑nál nagyobb képet, vagy figyelmen kívül hagyhatod az összes PNG fájlt.

@Override
public void onLoading(ExternalResourceLoadingArgs args) {
    if (!args.getUri().endsWith("installation.png")) {
        args.setSkipped(true);
    }
}

Gyakorlati alkalmazások

  1. Document Management Systems – Csak a szükséges képeket húzza ki a beolvasott szerződésekből bélyegképek generálásához.
  2. Data Extraction Services – Kihagyja a díszítő grafikákat, és a hasznos adatokat tartalmazó diagramokra koncentrál.
  3. Web Scraping Tools – Kiszűri a nyomkövető pixeleket, miközben a HTML‑alapú dokumentumokból értékes médiát gyűjt.

Teljesítmény szempontok

A Parser a központi osztály, amely megnyit egy dokumentumot és hozzáférést biztosít a tartalmához.

  • Filter early: Alkalmazd a saját kezelődet az erőforrások iterálása előtt, hogy elkerüld a nem kívánt adatok memóriába töltését.
  • Dispose promptly: Használd a try‑with‑resources (try (Parser parser = …)) szerkezetet a natív erőforrások felszabadításához.
  • Async processing: Nagy kötegek esetén dolgozd fel a dokumentumokat párhuzamos stream‑ekkel, miközben minden Parser példányt egyetlen szálra korlátozod.

Gyakori problémák és megoldások

IssueWhy it HappensFix
No images returnedHandler skips all resources inadvertentlyVerify the if condition and ensure args.setSkipped(true) is only called for unwanted URIs.
IOException on large filesInsufficient heap memoryIncrease JVM heap (-Xmx2g) or process pages in smaller chunks.
License not recognizedUsing trial DLL with production codeApply the correct license file path via License.setLicense("path/to/license").

Gyakran ismételt kérdések

Q: What is the primary purpose of using a custom ExternalResourceHandler?
A: It lets you control which external resources are loaded, enhancing security and performance by filtering out unnecessary files.

Q: Can I use GroupDocs.Parser for Java without a license?
A: Yes, a free trial is available, but advanced features and large‑scale deployments require a valid license.

Q: How do I handle exceptions during parsing with GroupDocs.Parser?
A: Wrap parsing calls in try‑catch blocks for IOException and other specific exceptions to gracefully handle errors.

Q: What are common pitfalls when filtering resources?
A: Incorrect URI checks can skip needed files; use logging or breakpoints to verify your conditions.

Q: Is it possible to parse non‑HTML documents using GroupDocs.Parser for Java?
A: Absolutely—GroupDocs.Parser supports PDFs, Word, Excel, PowerPoint, and many other formats.

Következő lépések

Fedezd fel a teljes API Reference további beállításait, például a ParserSettings.setDetectTables(true)‑t a táblázatok kinyeréséhez, vagy kísérletezz a ParserSettings.setExtractEmbeddedFonts(true)‑val a betűtípusok kinyeréséhez.


Last Updated: 2026-06-22
Tested With: GroupDocs.Parser 25.5 for Java
Author: GroupDocs

Resources

Kapcsolódó oktatóanyagok