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.
- Maak een nieuw project aan.
- Download de API zoals hierboven vermeld of update naar de nieuwste API-versie.
- Voeg de volgende naamruimten toe:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- 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.
}
- 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;
}
- 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
Geëxtraheerde afbeeldingen
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.