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
ExternalResourceHandlermegvaló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
Parserpé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
- 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.
- Data Extraction Services – Kihagyja a díszítő grafikákat, és a hasznos adatokat tartalmazó diagramokra koncentrál.
- 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
Parserpéldányt egyetlen szálra korlátozod.
Gyakori problémák és megoldások
| Issue | Why it Happens | Fix |
|---|---|---|
| No images returned | Handler skips all resources inadvertently | Verify the if condition and ensure args.setSkipped(true) is only called for unwanted URIs. |
IOException on large files | Insufficient heap memory | Increase JVM heap (-Xmx2g) or process pages in smaller chunks. |
| License not recognized | Using trial DLL with production code | Apply 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
- Documentation: GroupDocs.Parser Documentation
- API Reference: API Details
- Downloads: Latest Versions