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ů.
Zde se budou probírat následující témata:
- Rozhraní API pro extrakci obrázků, textu a metadat
- Extrakce obrázků z PDF dokumentů
- Extrahujte obrázky z dokumentů Word, Excel, PowerPoint
- Extrahujte obrázek z konkrétní stránky
- Podporované formáty pro extrakci obrázků
Rozhraní API pro extrakci obrázků, textu a metadat
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#
Pomocí těchto jednoduchých kroků můžete snadno načíst všechny obrázky z jakéhokoli dokumentu PDF.
- Vytvořte instanci objektu třídy Parser se zdrojovým dokumentem.
- Voláním metody GetImages třídy Parser získáte kolekci všech obrázků v objektech PageImageArea.
- Iterujte přes PageImageArea, abyste získali každý obrázek.
- 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++;
}
}
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 | |
E-maily | EML, EMLX, MSG |
Archiv | PSČ |
Více o GroupDocs.Parser
- Dokumentace
- Příklady zdrojového kódu
- Reference API
- Family ([On-Premise API]]23| Cloud API | Bezplatná online aplikace
Pojďme si promluvit více @ Free Support Forum