Portable Document Format (PDF) is een populair en veelgebruikt documentformaat ontwikkeld door Adobe. PDF-documenten kunnen een verscheidenheid aan inhoud bevatten, waaronder opgemaakte tekst, afbeeldingen, annotaties, formuliervelden, enz. Het programmatisch ontleden van PDF-documenten is een populaire use-case en er zijn meerdere manieren om de tekst te extraheren. Het extraheren van afbeeldingen uit een PDF-document is echter een complexe taak. Dit artikel laat zien hoe eenvoudig u programmatisch afbeeldingen uit PDF-documenten kunt extraheren in C#.

.NET API om afbeeldingen uit PDF-bestanden te extraheren

GroupDocs.Parser for .NET API speelt een rol bij het extraheren van afbeeldingen uit PDF-bestanden. Samen met de pdf ondersteunt de API het parseren en extraheren van afbeeldingen uit tekstverwerkingsdocumenten, spreadsheets, eBooks, presentaties, e-mails, ZIP-archieven en vele andere documentindelingen.

U kunt de DLL’s of het MSI-installatieprogramma downloaden van de downloadsectie of de API in uw .NET-toepassing installeren via NuGet.

PM> Install-Package GroupDocs.Parser

Stappen om afbeeldingen uit een PDF-document te extraheren met C#

Laten we snel stap voor stap bekijken hoe u afbeeldingen uit het PDF-bestand kunt halen met behulp van een paar regels C#-code.

  1. Maak een nieuw project aan.
  2. Download de API zoals hierboven vermeld of update naar de nieuwste API-versie.
  3. Voeg de volgende naamruimten toe:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. Laad het PDF-document met de klasse Parser.
// Maak een instantie van de klasse Parser
using (Parser parser = new Parser("path/document.pdf"))
{
  // uw code komt hier.
}
  1. Extraheer afbeeldingen uit het document met behulp van de GetImages-methode.
// Extraheer afbeeldingen
IEnumerable<PageImageArea> images = parser.GetImages();

// Controleer of het extraheren van afbeeldingen wordt ondersteund
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. Open elke afbeelding uit de verzameling en sla deze op met de methode Opslaan.
// Herhaal de opgehaalde afbeeldingen
foreach (PageImageArea image in images)
{
    // Afbeeldingen opslaan
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

U kunt de afbeeldingen opslaan in verschillende afbeeldingen, zoals JPG, PNG, BMP, WebP of GIF.

C# Complete Code – Beeldextractie uit PDF

Hier is de volledige code waarmee u alle afbeeldingen uit een PDF-bestand kunt halen.

// Extraheer afbeeldingen uit PDF met C#
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // Controleer of het extraheren van afbeeldingen wordt ondersteund
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // Herhaal de opgehaalde afbeeldingen
    foreach (PageImageArea image in images)
    {
        // Afbeeldingen opslaan
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

Resultaten

Voorbeeld PDF-document

PDF-document met afbeeldingen om uit te pakken.

Geëxtraheerde afbeeldingen

geëxtraheerde afbeeldingen uit de PDF.

Indien nodig wordt in een apart artikel ook uitgelegd hoe u Afbeeldingen uit een specifieke pagina van een PDF-document kunt extraheren met behulp van C#.

Lees verder

U kunt meer ontdekken over de .NET-API voor gegevensextractie met behulp van de bijbehorende documentatie. U kunt uw vragen ook met ons delen via ons forum.

Zie ook