In de vorige post hebben we besproken hoe u afbeeldingen uit documenten in Java kunt extraheren. Vandaag zullen we proberen hetzelfde doel te bereiken met C#. Geen zorgen als je de laatste post niet hebt bezocht. In dit artikel leren we afbeeldingen programmatisch te extraheren uit PDF-, Excel-, PowerPoint- en Word-documenten in een C#-toepassing met behulp van documentparsing .NET API.
Volgende onderwerpen komen hier aan bod:
- Extractie van afbeeldingen, tekst en metagegevens .NET API
- Beeldextractie uit PDF-documenten
- Extraheer afbeeldingen uit Word-, Excel- en PowerPoint-documenten
- Extraheer afbeelding van specifieke pagina
- Ondersteunde indelingen voor beeldextractie
Extractie van afbeeldingen, tekst en metagegevens .NET API
GroupDocs.Parser for .NET is de .NET API voor documentparsing en gegevensextractie. Het ondersteunt het parseren en extraheren van afbeeldingen, tekst en metagegevens uit tekstverwerkingsdocumenten, spreadsheets, presentaties, archieven en e-maildocumenten. Aan het einde van het artikel worden documentformaten genoemd die worden ondersteund door de API voor het extraheren van afbeeldingen.
In dit artikel zullen we deze API gebruiken, dus ik zou aanraden om de binaire bestanden te downloaden of de API van NuGet te installeren om de omgeving voor te bereiden.
Extraheer afbeeldingen uit PDF-documenten in C#
U kunt eenvoudig alle afbeeldingen uit elk PDF-document ophalen door deze eenvoudige stappen te volgen.
- Instantieer het klasseobject Parser met het brondocument.
- Roep de methode GetImages van de klasse Parser aan om de verzameling van alle afbeeldingen in objecten PageImageArea op te halen.
- Herhaal PageImageArea om elke afbeelding te krijgen.
- Sla afbeeldingen op de schijf op met de Save-methode van PageImageArea.
Geëxtraheerde afbeeldingen kunnen worden opgeslagen in de formaten BMP, GIF, JPEG, PNG en WebP. De volledige code wordt hieronder weergegeven om de hele stappen te demonstreren.
// Extraheer afbeeldingen uit Word, Excel, PPT, PDF in C# met behulp van GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
IEnumerable<PageImageArea> images = parser.GetImages();
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// Herhaal de opgehaalde afbeeldingen
foreach (PageImageArea image in images)
{
// Afbeelding opslaan en pagina-index, rechthoek en afbeeldingstype afdrukken:
Console.WriteLine(string.Format("Page: {0}, R: {1}, Type: {2}", image.Page.Index, image.Rectangle, image.FileType));
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
imageNumber++;
}
}
Beeldextractie uit Word-, Excel- en PowerPoint-bestanden in C#
Niet beperkt tot alleen het PDF-formaat, we kunnen alle afbeeldingen uit tekstverwerkingsdocumenten, spreadsheets, presentaties halen met de ongewijzigde codebasis. Wijzig gewoon het brondocumentpad met de bestandsextensie, uw document wordt geparseerd om alle afbeeldingen uit te pakken en op de schijf op te slaan.
using (Parser parser = new Parser("path/document.docx")) // Word Document
// using (Parser parser = new Parser("path/document.xlsx")) // Excel Spreadhseet
// using (Parser parser = new Parser("path/document.pptx")) // Presentation
// using (Parser parser = new Parser("path/document.pdf")) // PDF Document
Extraheer afbeeldingen van een specifieke documentpagina in C#
Als u afbeeldingen van een specifieke pagina van het document wilt extraheren, kunt u dit eenvoudig doen met behulp van de onderstaande stappen en C#-code.
- Haal de informatie over het document op met behulp van de methode GetDocumentInfo.
- Haal uit de documentinformatie het totaal PageCount en andere informatie.
- Gebruik de methode GetImages(pageIndex) en geef uw doelpagina-index eraan door.
- Om de opgehaalde afbeeldingen op te slaan, doorloopt u de afbeeldingenverzameling en slaat u de afzonderlijke afbeelding op met de methode Opslaan.
// Extraheer afbeeldingen van een specifieke pagina van Word, Excel, PowerPoint, PDF in C# met behulp van GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
// Download de documentinformatie
IDocumentInfo documentInfo = parser.GetDocumentInfo();
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// Herhaal pagina's
for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
{
// Druk een paginanummer af
Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
// Herhaal afbeeldingen. Null-check in het voorbeeld negeren
foreach (PageImageArea image in parser.GetImages(pageIndex))
{
// Druk een rechthoek en afbeeldingstype af
Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
imageNumber++;
}
}
}
Ondersteunde indelingen voor beeldextractie in C#
Hieronder volgen de documentindelingen die worden ondersteund door de GroupDocs.Parser for .NET API voor het extraheren van afbeeldingen.
Documenttype | Bestandsformaten |
---|---|
Tekstverwerkingsdocumenten | DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF |
Spreadsheets | XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, NUMMERS |
Presentaties | PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP |
Draagbare documenten | |
E-mails | EML, EMLX, MSG |
Archief | POST |
Meer over GroupDocs.Parser
- Documentatie
- Broncode voorbeelden
- API-referentie
- Familie (On-Premise API’s| Cloud API’s | Gratis online app
Laten we nog wat praten @ Gratis ondersteuningsforum