便攜式文檔格式 (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 文件中獲取圖像。
- 創建一個新項目。
- 如上所述下載 API 或更新到最新的 API 版本。
- 添加以下命名空間:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- 使用 Parser 類加載 PDF 文檔。
// 創建 Parser 類的實例
using (Parser parser = new Parser("path/document.pdf"))
{
// 你的代碼在這裡。
}
- 使用 GetImages 方法從文檔中提取圖像。
// 提取圖像
IEnumerable<PageImageArea> images = parser.GetImages();
// 檢查是否支持圖像提取
if (images == null)
{
Console.WriteLine("Images extraction isn't supported");
return;
}
- 訪問集合中的每個圖像並使用 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 文檔
提取圖像
如果您需要,還可以在另一篇文章中解釋如何使用 C# 從 PDF 文檔的任何特定頁面中提取圖像。
閱讀更多
您可以使用其 文檔 探索有關 .NET 數據提取 API 的更多信息。此外,您可以通過我們的 論壇 與我們分享您的疑問。