用Nuget抓取類庫,FreeSpire.PDF就可以
代碼如下 , 親測可以抓取PNG圖形,即使原圖是JPG,也會存成PNG格式輸出:
//加載PDF文檔
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(file);
List<Image> listImages = new List<Image>();
for (int i = 0; i < doc.Pages.Count; i++)
{
// 實例化一個Spire.Pdf.PdfPageBase對象
PdfPageBase page = doc.Pages[i];
// 獲取所有pages里面的圖片
Image[] images = page.ExtractImages();
if (images != null && images.Length > 0)
{
listImages.AddRange(images);
}
}
// 將提取到的圖片保存到本地路徑
if (listImages.Count > 0)
{
for (int i = 0; i < listImages.Count; i++)
{
Image image = listImages[i];
image.Save("image" + (i + 1).ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png);
}
}
順便貼下讀取文本的代碼:
//實例化一個PdfDocument對象
PdfDocument doc = new PdfDocument();
//加載PDF文檔
doc.LoadFromFile(file);
//實例化一個StringBuilder 對象
StringBuilder content = new StringBuilder();
//提取PDF所有頁面的文本
foreach (PdfPageBase page in doc.Pages)
{
content.Append(page.ExtractText());
}
//將提取到的文本寫為.txt格式並保存到本地路徑
String fileName = "獲取文本.txt";
File.WriteAllText(fileName, content.ToString());
