V předchozím příspěvku jsme diskutovali o tom, jak extrahovat obrázky z dokumentů v Java. Dnes se budeme snažit dosáhnout stejného cíle pomocí C#. Žádný strach, pokud jste nenavštívili poslední příspěvek. V tomto článku se naučíme programově extrahovat obrázky z dokumentů PDF, Excel, PowerPoint a Word v aplikaci C# pomocí .NET API pro analýzu dokumentů.

Extrahujte obrázky z dokumentů v .NET

Zde se budou probírat následující témata:

Rozhraní API pro extrakci obrázků, textu a metadat

Analyzujte dokumenty a extrahujte data v .NET

GroupDocs.Parser for .NET je .NET API pro analýzu dokumentů a extrakci dat. Podporuje analýzu dokumentů a extrakci obrázků, textu a metadat z textových dokumentů, tabulek, prezentací, archivů a e-mailových dokumentů. Na konci článku jsou uvedeny formáty dokumentů, které jsou podporovány API pro extrakci obrázků.

V tomto článku budeme používat toto API, takže bych doporučil stáhnout jeho binárky nebo nainstalovat API z NuGet pro přípravu prostředí.

Extrahujte obrázky z dokumentů PDF v C#

Dokument PDF pro extrahování obrázků

Pomocí těchto jednoduchých kroků můžete snadno načíst všechny obrázky z jakéhokoli dokumentu PDF.

  1. Vytvořte instanci objektu třídy Parser se zdrojovým dokumentem.
  2. Voláním metody GetImages třídy Parser získáte kolekci všech obrázků v objektech PageImageArea.
  3. Iterujte přes PageImageArea, abyste získali každý obrázek.
  4. Uložte obrázky na disk pomocí metody Save aplikace PageImageArea.

Extrahované obrázky lze uložit ve formátech BMP, GIF, JPEG, PNG a WebP. Úplný kód je zobrazen níže, aby demonstroval celé kroky.

// Extrahujte obrázky z Wordu, Excelu, PPT, PDF v C# pomocí 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;
    // Opakujte načtené obrázky
    foreach (PageImageArea image in images)
    {
        // Uložit obrázek a vytisknout index stránky, obdélník a typ obrázku:
        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++;
    }
}
Extrahované obrázky z dokumentu pomocí GroupDocs.Parser

Extrakce obrázků ze souborů Word, Excel, PowerPoint v C#

Neomezujeme se pouze na formát PDF, můžeme vyjmout všechny obrázky z textových dokumentů, tabulek, prezentací s nezměněnou základnou kódu. Stačí změnit cestu ke zdrojovému dokumentu s příponou souboru, váš dokument bude analyzován, aby se extrahovaly a uložily všechny obrázky na disk.

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

Extrahujte obrázky z konkrétní stránky dokumentu v C#

Pokud chcete extrahovat obrázky z konkrétní stránky dokumentu, lze to snadno provést pomocí níže uvedených kroků a kódu C#.

  • Získejte informace o dokumentu pomocí metody GetDocumentInfo.
  • Z informací o dokumentu odeberte celkový Počet stránek a další informace.
  • Použijte metodu GetImages(pageIndex) a předejte jí index cílové stránky.
  • Chcete-li uložené snímky uložit, projděte sbírku snímků a uložte jednotlivé snímky pomocí metody Uložit.
// Extrahujte obrázky z konkrétní stránky Wordu, Excelu, PowerPointu, PDF v C# pomocí GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
    // Získejte informace o dokumentu
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;

    // Opakujte stránky
    for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
    {
        // Vytiskněte číslo stránky 
        Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
        // Iterujte přes obrázky. Ignorování nulové kontroly v příkladu
        foreach (PageImageArea image in parser.GetImages(pageIndex))
        {
            // Vytiskněte obdélník a typ obrázku
            Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
            image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
            imageNumber++;
        }
    }
}

Podporované formáty pro extrakci obrázků v C#

Níže jsou uvedeny formáty dokumentů, které jsou podporovány rozhraním GroupDocs.Parser for .NET API pro extrakci obrázků.

Typ dokumentu Formáty souborů
Dokumenty pro zpracování textu DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF
Tabulky XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, ČÍSLA
Prezentace PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP
Přenosné dokumenty PDF
E-maily EML, EMLX, MSG
Archiv PSČ

Více o GroupDocs.Parser

Pojďme si promluvit více @ Free Support Forum

Související články