Java-Dokumentenparsing: Bilder aus Dokumenten mit GroupDocs.Parser extrahieren

In diesem umfassenden Leitfaden lernen Sie java document parsing Techniken, um Bilder aus einer Vielzahl von Dateitypen mit GroupDocs.Parser für Java zu extrahieren. Wir führen Sie durch die Bibliothekseinrichtung, das Erstellen eines benutzerdefinierten ExternalResourceHandler und die Anwendung intelligenter Filter, sodass Sie nur die Ressourcen laden, die Sie wirklich benötigen – was Ihnen hilft, den Speicherverbrauch zu reduzieren und die Verarbeitung zu beschleunigen.

Schnelle Antworten

  • Was macht GroupDocs.Parser? Es parse über 50 Dateiformate und stellt Text, Bilder und andere eingebettete Ressourcen für die programmgesteuerte Nutzung bereit.
  • Kann ich unerwünschte Bilder überspringen? Ja – implementieren Sie einen benutzerdefinierten ExternalResourceHandler, um Ressourcen on the fly zu filtern.
  • Welche Maven-Version wird benötigt? Verwenden Sie GroupDocs.Parser Java 25.5 oder neuer.
  • Benötige ich eine Lizenz? Eine kostenlose Testversion funktioniert für die Evaluierung; eine permanente Lizenz ist für den Produktionseinsatz erforderlich.
  • Ist dieser Ansatz thread‑sicher? Erstellen Sie pro Thread eine separate Parser-Instanz; Objekte werden nicht geteilt.

Was bedeutet „Bilder aus Dokumenten extrahieren“?

Das Extrahieren von Bildern aus Dokumenten bedeutet, eingebettete Bilddateien programmgesteuert abzurufen, damit Sie sie außerhalb der Originaldatei speichern, anzeigen oder weiterverarbeiten können. Dieser Vorgang ist unerlässlich, wenn Sie Thumbnails, Datenvisualisierungen benötigen oder Medienressourcen wiederverwenden möchten, ohne das vollständige Ausgangsdokument zu behalten.

Warum Ressourcen beim Extrahieren von Bildern filtern?

Das Filtern von Ressourcen beim Extrahieren von Bildern ermöglicht es Ihnen, den Speicherverbrauch um bis zu 70 % zu reduzieren, wenn große Dateien verarbeitet werden, da unerwünschte Binärdateien nie den JVM‑Heap erreichen. Es verbessert zudem die Sicherheit, indem potenziell unsichere Inhalte nicht geladen werden, und beschleunigt die Pipeline – große Verträge mit Hunderten von dekorativen Grafiken können in einem Bruchteil der ursprünglichen Zeit geparst werden.

Voraussetzungen

  • Java Development Kit (JDK) – Version 8 oder höher.
  • Maven – für das Abhängigkeitsmanagement.
  • Grundlegende Kenntnisse in Java I/O und Ausnahmebehandlung.

Einrichtung von GroupDocs.Parser für Java

Fügen Sie das GroupDocs-Repository und die Parser-Abhängigkeit zu Ihrer pom.xml hinzu:

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

Alternativ können Sie die neueste Version von GroupDocs.Parser for Java releases herunterladen.

Lizenzbeschaffung

  • Kostenlose Testversion – Kernfunktionen ohne Kosten erkunden.
  • Temporäre Lizenz – volle Funktionalität während der Evaluierung freischalten.
  • Gekaufte Lizenz – für den kommerziellen Einsatz erforderlich.

Wie man Ressourcen beim Extrahieren von Bildern filtert

Um Ressourcen zu filtern, implementieren Sie einen ExternalResourceHandler, der entscheidet, welche eingebetteten Dateien geladen werden. Registrieren Sie diesen Handler in ParserSettings, bevor Sie das Dokument öffnen, und rufen Sie dann den Parser auf. Der Handler erhält die Metadaten jeder Ressource und ermöglicht es Ihnen, sie anhand von Kriterien wie Typ, Größe oder Name zu akzeptieren oder abzulehnen, sodass nur benötigte Bilder verarbeitet werden.

Schritt 1: Erstellen eines benutzerdefinierten Handlers

ExternalResourceHandler ist ein Interface, das Ihnen erlaubt zu entscheiden, ob eine bestimmte externe Ressource – beispielsweise ein Bild – geladen werden soll. Implementieren Sie die Methode onLoading und geben Sie true für Ressourcen zurück, die Sie behalten möchten, false zum Überspringen. Die Methode onLoading erhält die Metadaten der Ressource und sollte true zurückgeben, um zu laden, oder false, um die Ressource zu überspringen.

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);
    }
}

Schritt 2: Konfigurieren von ParserSettings mit dem Handler

ParserSettings ist eine Konfigurationsklasse, die Optionen wie benutzerdefinierte Handler, Erkennungseinstellungen und Leistungsoptimierungen für den Parser enthält. Übergeben Sie Ihre Handler‑Instanz an ParserSettings, bevor Sie ein Dokument öffnen.

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());
            }
        }
    }
}

Schritt 3: Feinabstimmung der Filterlogik

Falls Sie komplexere Regeln benötigen – zum Beispiel das Filtern nach Bildgröße, Format oder URI‑Muster – erweitern Sie die Methode onLoading entsprechend. Beispielsweise können Sie jedes Bild, das größer als 2 MB ist, überspringen oder alle PNG‑Dateien ignorieren.

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

Praktische Anwendungen

  1. Document Management Systems – Nur die notwendigen Bilder aus gescannten Verträgen extrahieren, um Thumbnails zu erzeugen.
  2. Data Extraction Services – Dekorative Grafiken überspringen und sich auf Diagramme konzentrieren, die wertvolle Daten enthalten.
  3. Web Scraping Tools – Tracking‑Pixel herausfiltern, während sinnvolle Medien aus HTML‑basierten Dokumenten abgerufen werden.

Leistungsüberlegungen

Parser ist die Kernklasse, die ein Dokument öffnet und Zugriff auf dessen Inhalte bietet.

  • Früh filtern: Wenden Sie Ihren benutzerdefinierten Handler an, bevor Sie über Ressourcen iterieren, um das Laden unerwünschter Daten in den Speicher zu vermeiden.
  • Schnell freigeben: Verwenden Sie try‑with‑resources (try (Parser parser = …)) um native Ressourcen freizugeben.
  • Asynchrone Verarbeitung: Für große Stapel verarbeiten Sie Dokumente in Parallel‑Streams, wobei jede Parser‑Instanz auf einen einzelnen Thread beschränkt bleibt.

Häufige Probleme & Lösungen

ProblemWarum es passiertLösung
Keine Bilder zurückgegebenHandler überspringt versehentlich alle RessourcenÜberprüfen Sie die if‑Bedingung und stellen Sie sicher, dass args.setSkipped(true) nur für unerwünschte URIs aufgerufen wird.
IOException on large filesUnzureichender Heap‑SpeicherErhöhen Sie den JVM‑Heap (-Xmx2g) oder verarbeiten Sie Seiten in kleineren Teilen.
Lizenz nicht erkanntVerwendung der Test‑DLL im ProduktionscodeVerwenden Sie den korrekten Lizenzdateipfad über License.setLicense("path/to/license").

Häufig gestellte Fragen

Q: Was ist der Hauptzweck der Verwendung eines benutzerdefinierten ExternalResourceHandler?
A: Er ermöglicht Ihnen zu steuern, welche externen Ressourcen geladen werden, wodurch Sicherheit und Leistung verbessert werden, indem unnötige Dateien herausgefiltert werden.

Q: Kann ich GroupDocs.Parser für Java ohne Lizenz verwenden?
A: Ja, eine kostenlose Testversion ist verfügbar, aber erweiterte Funktionen und groß angelegte Deployments erfordern eine gültige Lizenz.

Q: Wie gehe ich mit Ausnahmen beim Parsen mit GroupDocs.Parser um?
A: Umschließen Sie Parsing‑Aufrufe in try‑catch‑Blöcken für IOException und andere spezifische Ausnahmen, um Fehler elegant zu behandeln.

Q: Was sind häufige Stolperfallen beim Filtern von Ressourcen?
A: Falsche URI‑Prüfungen können benötigte Dateien überspringen; verwenden Sie Logging oder Breakpoints, um Ihre Bedingungen zu überprüfen.

Q: Ist es möglich, nicht‑HTML‑Dokumente mit GroupDocs.Parser für Java zu parsen?
A: Absolut – GroupDocs.Parser unterstützt PDFs, Word, Excel, PowerPoint und viele weitere Formate.

Nächste Schritte

Entdecken Sie die vollständige API Reference für zusätzliche Einstellungen wie ParserSettings.setDetectTables(true), um Tabellen zu extrahieren, oder experimentieren Sie mit ParserSettings.setExtractEmbeddedFonts(true) für die Schriftart‑Extraktion.


Zuletzt aktualisiert: 2026-06-22
Getestet mit: GroupDocs.Parser 25.5 for Java
Autor: GroupDocs

Ressourcen

Verwandte Tutorials