上一篇文章 中,我們討論瞭如何使用 Java 從文檔中提取圖像。今天,我們將尋求使用 C# 實現相同的目標。如果您還沒有訪問過上一篇文章,請不要擔心。在本文中,我們將學習使用文檔解析 .NET API 在 C# 應用程序中以編程方式從 PDF、Excel、PowerPoint 和 Word 文檔中提取圖像。

從 .NET 中的文檔中提取圖像

此處將涵蓋以下主題:

圖像、文本和元數據提取 .NET API

在 .NET 中解析文檔和提取數據

GroupDocs.Parser for .NET 是文檔解析和數據提取 .NET API。它支持從文字處理文檔、電子表格、演示文稿、檔案和電子郵件文檔中解析和提取圖像、文本和元數據。在文章的最後,提到 圖像提取 API 支持的文檔格式。

在本文中,我們將使用此 API,因此我建議下載 其二進製文件或從 NuGet 安裝 API 以準備環境。

在 C# 中從 PDF 文檔中提取圖像

提取圖像的 PDF 文檔

按照這些簡單的步驟,您可以輕鬆地從任何 PDF 文檔中檢索所有圖像。

  1. 使用源文檔實例化 Parser 類對象。
  2. 調用Parser類的GetImages方法獲取PageImageArea對像中所有圖片的集合。
  3. 遍歷 PageImageArea 以獲取每個圖像。
  4. 使用 PageImageArea 的 Save 方法將圖像保存在磁盤上。

提取的圖像可以保存為 BMP、GIF、JPEG、PNG 和 WebP 格式。完整的代碼如下所示,以演示整個步驟。

// 使用 GroupDocs.Parser for .NET 在 C# 中從 Word、Excel、PPT、PDF 中提取圖像
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;
    // 迭代檢索到的圖像
    foreach (PageImageArea image in images)
    {
        // 保存圖像並打印頁面索引、矩形和圖像類型:
        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++;
    }
}
使用 GroupDocs.Parser 從文檔中提取圖像

在 C# 中從 Word、Excel、PowerPoint 文件中提取圖像

不僅限於 PDF 格式,我們可以從文字處理文檔、電子表格、演示文稿中提取所有圖像,而無需更改代碼庫。只需更改帶有文件擴展名的源文檔路徑,您的文檔將被解析以提取所有圖像並將其保存到磁盤。

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

在 C# 中從特定文檔頁面中提取圖像

如果您想從文檔的特定頁面中提取圖像,可以使用下面提到的步驟和 C# 代碼輕鬆完成。

  • 使用 GetDocumentInfo 方法獲取有關文檔的信息。
  • 從文檔信息中取出總PageCount等信息。
  • 使用 GetImages(pageIndex) 方法並將目標頁面索引傳遞給它。
  • 要保存檢索到的圖像,請遍歷圖像集合,並使用 Save 方法保存單個圖像。
// 使用 GroupDocs.Parser for .NET 從 C# 中的 Word、Excel、PowerPoint, PDF 的特定頁面中提取圖像
using (Parser parser = new Parser("path/document.pdf"))
{
    // 獲取文檔信息
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;

    // 遍歷頁面
    for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
    {
        // 打印頁碼 
        Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
        // 迭代圖像。忽略示例中的空檢查
        foreach (PageImageArea image in parser.GetImages(pageIndex))
        {
            // 打印矩形和圖像類型
            Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
            image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
            imageNumber++;
        }
    }
}

C# 中圖像提取支持的格式

以下是 GroupDocs.Parser for .NET API 支持的用於圖像提取的文檔格式。

文件類型 文件格式
文字處理文檔 DOC、DOCX、DOCM、DOT、DOTX、DOTM、ODT、OTT、RTF
電子表格 XLS、XLSX、XLSM、XLSB、XLT、XLTX、XLTM、ODS、OTS、XLA、XLAM、數字
簡報 PPT、PPTX、PPTM、PPS、PPSX、PPSM、POT、POTX、POTM、ODP、OTP
便攜式文件 PDF
電子郵件 EML、EMLX、味精
檔案 郵編

有關 GroupDocs.Parser 的更多信息

讓我們再談談@免費支持論壇

相關文章