詳解C#如何提取PDF文檔中的圖片
當(dāng) PDF 文件中包含有價(jià)值的圖片,如藝術(shù)畫作、設(shè)計(jì)素材、報(bào)告圖表等,提取圖片可以將這些圖像資源進(jìn)行單獨(dú)保存,方便后續(xù)在不同的項(xiàng)目中使用,避免每次都要從 PDF 中查找。本文將介紹如何使用C#通過代碼從PDF文檔中提取圖片,包含以下兩個(gè)示例:
提取PDF圖片需要用到 Spire.PDF for .NET 庫??梢酝ㄟ^此鏈接下載產(chǎn)品包后手動添加引用,或者直接通過NuGet安裝。
C# 提取指定 PDF 頁面中的圖片
PdfImageHelper 類可用于幫助用戶管理 PDF 文檔中的圖像,要從某個(gè)指定的PDF頁面中提取圖片,參考以下步驟:
使用 PdfDocument 類的 LoadFromFile() 方法加載 PDF 文件。
通過 PdfDocument 類的 Pages[index] 屬性獲取指定頁面。
創(chuàng)建 PdfImageHelper 對象,然后使用其 GetImagesInfo() 方法獲取頁面中圖像信息集合。
遍歷圖像信息集合,并使用 PdfImageInfo.Image.Save() 方法將每一張圖片以PNG格式儲存到指定文件路徑。
C# 代碼:
using Spire.Pdf;
using Spire.Pdf.Utilities;
using System.Drawing;
namespace ExtractImagesFromSpecificPage
{
class Program
{
static void Main(string[] args)
{
// 加載PDF文檔
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("E:\\PythonPDF\\AI.pdf");
// 獲取第一頁
PdfPageBase page = pdf.Pages[0];
// 創(chuàng)建PdfImageHelper對象
PdfImageHelper imageHelper = new PdfImageHelper();
// 獲取頁面上的圖片信息
PdfImageInfo[] imageInfos = imageHelper.GetImagesInfo(page);
// 遍歷圖片信息
for (int i = 0; i < imageInfos.Length; i++)
{
// 獲取某個(gè)指定圖片信息
PdfImageInfo imageInfo = imageInfos[i];
// 獲取指定圖片
Image image = imageInfo.Image;
// 將圖片保存為png格式
image.Save("圖片\\圖-" + i + ".png");
}
pdf.Dispose();
}
}
}

C# 提取PDF 文檔中所有圖片
要獲取整個(gè)PDF文檔中的圖片,就需要遍歷每一頁然后再提取,具體參考以下步驟:
- 使用 PdfDocument 類的 LoadFromFile() 方法加載 PDF 文件。
- 創(chuàng)建 PdfImageHelper 對象。
- 遍歷文檔中的每一個(gè)頁面。
- 通過 PdfDocument 類的 Pages[index] 屬性獲取指定頁面。
- 使用 PdfImageHelper.GetImagesInfo() 方法獲取頁面中圖像信息集合。
- 遍歷圖像信息集合,并使用 **PdfImageInfo.Image.Save()**方法將每一張圖片以PNG格式儲存到指定文件路徑。
C# 代碼:
using Spire.Pdf;
using Spire.Pdf.Utilities;
using System.Drawing;
namespace ExtractAllImages
{
class Program
{
static void Main(string[] args)
{
// 加載PDF文檔
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("E:\\PythonPDF\\AI.pdf");
// 創(chuàng)建PdfImageHelper對象
PdfImageHelper imageHelper = new PdfImageHelper();
int m = 0;
// 遍歷PDF頁面
for (int i = 0; i < pdf.Pages.Count; i++)
{
// 獲取指定頁面
PdfPageBase page = pdf.Pages[i];
// 獲取頁面上的圖片信息
PdfImageInfo[] imageInfos = imageHelper.GetImagesInfo(page);
// 遍歷圖片信息
for (int j = 0; j < imageInfos.Length; j++)
{
// 獲取某個(gè)指定圖片信息
PdfImageInfo imageInfo = imageInfos[j];
// 獲取指定圖片
Image image = imageInfo.Image;
// 將圖片保存為png格式
image.Save("PDF圖片\\圖-" + m + ".png");
m++;
}
}
pdf.Dispose();
}
}
}

到此這篇關(guān)于詳解C#如何提取PDF文檔中的圖片的文章就介紹到這了,更多相關(guān)C#提取PDF圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#復(fù)合模式(Composite Pattern)實(shí)例教程
這篇文章主要介紹了C#復(fù)合模式(Composite Pattern),以實(shí)例形式講述了復(fù)合模式在樹形結(jié)構(gòu)中的應(yīng)用,需要的朋友可以參考下2014-09-09
Unity利用材質(zhì)自發(fā)光實(shí)現(xiàn)物體閃爍
這篇文章主要為大家詳細(xì)介紹了Unity利用材質(zhì)自發(fā)光實(shí)現(xiàn)物體閃爍,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
C#使用NPOI實(shí)現(xiàn)將表格中數(shù)據(jù)導(dǎo)入Excel
NPOI是.NET版本的POI,可以幫助我們在沒有安裝Microsoft Office的情況下讀寫Office文件,下面我們就來看看C#如何使用NPOI實(shí)現(xiàn)將表格中數(shù)據(jù)導(dǎo)入Excel吧2025-02-02
C#遞歸實(shí)現(xiàn)顯示文件夾及所有文件并計(jì)算其大小的方法
這篇文章主要介紹了C#遞歸實(shí)現(xiàn)顯示文件夾及所有文件并計(jì)算其大小的方法,是遍歷算法中比較典型的一種應(yīng)用,有不錯(cuò)的學(xué)習(xí)借鑒價(jià)值,需要的朋友可以參考下2014-08-08
C#實(shí)現(xiàn)獲取枚舉中元素個(gè)數(shù)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)獲取枚舉中元素個(gè)數(shù)的方法,是深入理解C#程序設(shè)計(jì)所需要掌握的基本技巧,需要的朋友可以參考下2014-08-08

