Extract Images from Documents and Filter Resources with GroupDocs.Parser Java
Het extraheren van afbeeldingen uit documenten is een veelvoorkomende vereiste bij het bouwen van document‑verwerkingspijplijnen. In deze tutorial ontdek je hoe je afbeeldingen uit documenten kunt extraheren met GroupDocs.Parser voor Java, en leer je hoe je resources kunt filteren zodat alleen de bestanden die je nodig hebt worden geladen. We lopen door het instellen van de bibliotheek, het maken van een aangepaste ExternalResourceHandler en het toepassen van filterlogica om je applicatie snel en veilig te houden.
Quick Answers
- What does GroupDocs.Parser do? Het parseert een breed scala aan documentformaten en geeft je toegang tot tekst, afbeeldingen en andere ingebedde resources.
- Can I skip unwanted images? Ja—door een aangepaste
ExternalResourceHandlerte implementeren kun je bepalen welke resources worden geladen. - Which Maven version is required? Gebruik GroupDocs.Parser Java 25.5 of nieuwer.
- Do I need a license? Een gratis proefversie werkt voor evaluatie; een permanente licentie is vereist voor productie.
- Is this approach thread‑safe? Parsing‑objecten worden niet gedeeld tussen threads; maak per thread een nieuwe
Parser‑instantie aan.
What is “extract images from documents”?
Wanneer een document ingebedde afbeeldingen, grafieken of andere media bevat, betekent “extract images from documents” dat je die binaire bestanden programmatisch ophaalt zodat je ze kunt opslaan, weergeven of verder verwerken buiten het originele bestand.
Why filter resources while extracting images?
Resources filteren helpt je:
- Het geheugenverbruik te verminderen door grote of irrelevante bestanden te negeren.
- De beveiliging te verbeteren door het laden van potentieel onveilige inhoud te voorkomen.
- De verwerking te versnellen, vooral bij enorme documenten die veel ingebedde objecten bevatten.
Prerequisites
- Java Development Kit (JDK) – versie 8 of hoger.
- Maven – voor dependency‑beheer.
- Basiskennis van Java I/O en exception handling.
Setting Up GroupDocs.Parser for Java
Voeg de GroupDocs‑repository en de parser‑dependency toe aan je 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>
Of download de nieuwste versie via GroupDocs.Parser for Java releases.
License Acquisition
- Free Trial – verken de kernfuncties zonder kosten.
- Temporary License – ontgrendel de volledige functionaliteit tijdens evaluatie.
- Purchased License – vereist voor commerciële inzet.
How to filter resources while extracting images
Step 1: Create a custom handler
Definieer een klasse die ExternalResourceHandler uitbreidt. Binnen de onLoading‑methode bepaal je welke resources behouden blijven.
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);
}
}
Step 2: Configure ParserSettings with the handler
Geef je Handler‑instantie door aan ParserSettings en gebruik deze bij het openen van een document.
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());
}
}
}
}
Step 3: Fine‑tune the filtering logic
Als je meer geavanceerde regels nodig hebt—bijvoorbeeld filteren op afbeeldingsgrootte, formaat of URI‑patroon—breid je de onLoading‑methode dienovereenkomstig uit:
@Override
public void onLoading(ExternalResourceLoadingArgs args) {
if (!args.getUri().endsWith("installation.png")) {
args.setSkipped(true);
}
}
Practical Applications
- Document Management Systems – Haal alleen de benodigde afbeeldingen uit gescande contracten om thumbnails te genereren.
- Data Extraction Services – Sla decoratieve grafieken over en focus op diagrammen die waardevolle data bevatten.
- Web Scraping Tools – Filter tracking‑pixels uit terwijl je betekenisvolle media uit HTML‑gebaseerde documenten haalt.
Performance Considerations
- Filter early: Pas je aangepaste handler toe voordat je over resources iterereert om te voorkomen dat ongewenste data in het geheugen wordt geladen.
- Dispose promptly: Gebruik try‑with‑resources (
try (Parser parser = …)) om native resources vrij te geven. - Async processing: Voor grote batches, verwerk documenten in parallelle streams terwijl elke
Parser‑instantie beperkt blijft tot één thread.
Common Issues & Solutions
| 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"). |
Frequently Asked Questions
Q: What is the primary purpose of using a custom ExternalResourceHandler?
A: Het stelt je in staat te bepalen welke externe resources worden geladen, waardoor beveiliging en prestaties worden verbeterd door onnodige bestanden te filteren.
Q: Can I use GroupDocs.Parser for Java without a license?
A: Ja, er is een gratis proefversie beschikbaar, maar sommige geavanceerde functies kunnen beperkt zijn totdat je een tijdelijke of aangekochte licentie verkrijgt.
Q: How do I handle exceptions during parsing with GroupDocs.Parser?
A: Omring parse‑aanroepen met try‑catch‑blokken voor IOException en andere specifieke uitzonderingen om fouten netjes af te handelen.
Q: What are common pitfalls when filtering resources?
A: Onjuiste URI‑controles kunnen benodigde bestanden overslaan; gebruik logging of breakpoints om je voorwaarden te verifiëren.
Q: Is it possible to parse non‑HTML documents using GroupDocs.Parser for Java?
A: Absoluut—GroupDocs.Parser ondersteunt PDF’s, Word, Excel, PowerPoint en vele andere formaten.
Next Steps
Duik dieper in de bibliotheek door de API Reference te verkennen of experimenteer met extra instellingen zoals ParserSettings.setDetectTables(true) voor tabel‑extractie.
Last Updated: 2025-12-29
Tested With: GroupDocs.Parser 25.5 for Java
Author: GroupDocs
Resources
- Documentation: GroupDocs.Parser Documentation
- API Reference: API Details
- Downloads: Latest Versions