便攜式文檔格式 (PDF) 是由 Adobe 開發的一種流行且廣泛使用的文檔格式。 PDF 文檔可以包含各種內容,包括格式化文本、圖像、註釋、表單字段等。以編程方式解析 PDF 文檔是一種流行的用例,並且有多種提取文本的方法。然而,從 PDF 文檔中提取圖像是一項複雜的任務。本文演示瞭如何使用 C# 以編程方式輕鬆地從 PDF 文檔中提取圖像。

從 PDF 文件中提取圖像的 .NET API

GroupDocs.Parser for .NET API 將在從 PDF 文件中提取圖像方面發揮作用。除了 PDF,API 還支持從文字處理文檔、電子表格、電子書、演示文稿、電子郵件、ZIP 存檔和許多其他文檔格式 中解析和提取圖像。

您可以從 下載部分 下載 DLL 或 MSI 安裝程序,或通過 NuGet 在您的 .NET 應用程序中安裝 API。

PM> Install-Package GroupDocs.Parser

使用 C# 從 PDF 文檔中提取圖像的步驟

讓我們快速逐步了解如何使用幾行 C# 代碼從 PDF 文件中獲取圖像。

  1. 創建一個新項目。
  2. 如上所述下載 API 或更新到最新的 API 版本。
  3. 添加以下命名空間:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. 使用 Parser 類加載 PDF 文檔。
// 創建 Parser 類的實例
using (Parser parser = new Parser("path/document.pdf"))
{
  // 你的代碼在這裡。
}
  1. 使用 GetImages 方法從文檔中提取圖像。
// 提取圖像
IEnumerable<PageImageArea> images = parser.GetImages();

// 檢查是否支持圖像提取
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. 訪問集合中的每個圖像並使用 Save 方法保存它。
// 迭代檢索到的圖像
foreach (PageImageArea image in images)
{
    // 保存圖片
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

您可以將圖像保存為各種不同的圖像,如 JPG、PNG、BMP、WebP 或 GIF。

C#完整代碼——從PDF中提取圖像

這是完整的代碼,可讓您從 PDF 文件中獲取所有圖像。

// 使用C#從PDF中提取圖像
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // 檢查是否支持圖像提取
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // 迭代檢索到的圖像
    foreach (PageImageArea image in images)
    {
        // 保存圖片
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

結果

示例 PDF 文檔

具有要提取的圖像的 PDF 文檔。

提取圖像

從 PDF 中提取圖像。

如果您需要,還可以在另一篇文章中解釋如何使用 C# 從 PDF 文檔的任何特定頁面中提取圖像

閱讀更多

您可以使用其 文檔 探索有關 .NET 數據提取 API 的更多信息。此外,您可以通過我們的 論壇 與我們分享您的疑問。

也可以看看