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.

Extraheer afbeeldingen uit documenten in .NET

Volgende onderwerpen komen hier aan bod:

Extractie van afbeeldingen, tekst en metagegevens .NET API

Documenten parseren en gegevens extraheren in .NET

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#

PDF-document om afbeeldingen te extraheren

U kunt eenvoudig alle afbeeldingen uit elk PDF-document ophalen door deze eenvoudige stappen te volgen.

  1. Instantieer het klasseobject Parser met het brondocument.
  2. Roep de methode GetImages van de klasse Parser aan om de verzameling van alle afbeeldingen in objecten PageImageArea op te halen.
  3. Herhaal PageImageArea om elke afbeelding te krijgen.
  4. 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++;
    }
}
Geëxtraheerde afbeeldingen uit document met behulp van GroupDocs.Parser

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 Pdf
E-mails EML, EMLX, MSG
Archief POST

Meer over GroupDocs.Parser

Laten we nog wat praten @ Gratis ondersteuningsforum

gerelateerde artikelen