Spire.PDF圖片和圖形教程:如何獲取PDF文檔中的文本和圖片
更多資源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程
Spire.PDF是一個(gè)專業(yè)的PDF組件,能夠獨(dú)立地創(chuàng)建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API擁有豐富的功能,如安全設(shè)置(包括數(shù)字簽名)、PDF文本/附件/圖片提取、PDF文件合并/拆分、元數(shù)據(jù)更新、章節(jié)和段落優(yōu)化、圖形/圖像描繪和插入、表格創(chuàng)建和處理、數(shù)據(jù)導(dǎo)入等等。
文本和圖片是PDF文檔的重要組成部分。本文將介紹如何通過編程的方式使用C#獲取PDF文檔中的文本和圖片并保存到本地路徑,以及如何從指定的頁面區(qū)域提取文本。
C# 如何提取 PDF 文檔中的文本和圖片
提取PDF文檔中的文本
//實(shí)例化一個(gè)PdfDocument對(duì)象 PdfDocument doc = new PdfDocument(); //加載PDF文檔 doc.LoadFromFile("測(cè)試文檔.pdf"); //實(shí)例化一個(gè)StringBuilder 對(duì)象 StringBuilder content = new StringBuilder(); //提取PDF所有頁面的文本 foreach (PdfPageBase page in doc.Pages) { content.Append(page.ExtractText()); } //將提取到的文本寫為.txt格式并保存到本地路徑 String fileName = "獲取文本.txt"; File.WriteAllText(fileName, content.ToString());
提取 PDF 文檔中的圖片
//加載PDF文檔 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("測(cè)試文檔.pdf"); ListListImage = new List(); for (int i = 0; i < doc.Pages.Count; i++) { // 實(shí)例化一個(gè)Spire.Pdf.PdfPageBase對(duì)象 PdfPageBase page = doc.Pages[i]; // 獲取所有pages里面的圖片 Image[] images = page.ExtractImages(); if (images != null && images.Length > 0) { ListImage.AddRange(images); } } // 將提取到的圖片保存到本地路徑 if (ListImage.Count > 0) { for (int i = 0; i < ListImage.Count; i++) { Image image = ListImage[i]; image.Save("image" + (i + 1).ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png); } }
C# 從 PDF 頁面的指定區(qū)域內(nèi)提取文本
有時(shí)我們可能需要獲取PDF頁面中某個(gè)區(qū)域內(nèi)的文本而不是全部的文本。以下是示例文檔截圖,紅色矩形區(qū)域是即將提取文本的區(qū)域。
//創(chuàng)建PdfDocument實(shí)例 PdfDocument pdf = new PdfDocument(); //加載PDF文檔 pdf.LoadFromFile("Input.pdf"); //獲取第一頁 PdfPageBase page = pdf.Pages[0]; //從第一頁的指定矩形區(qū)域內(nèi)提取文本 string text = page.ExtractText(new RectangleF(50, 50, 500, 100) ); //將文本寫入.txt文件 StringBuilder sb = new StringBuilder(); sb.AppendLine(text); File.WriteAllText("Extract.txt", sb.ToString());
效果圖
*想要購(gòu)買正版授權(quán)的朋友可以咨詢?cè)诰€客服哦~
如果你有任何問題或意見,可在下方評(píng)論區(qū)留言,點(diǎn)擊資源列表查看更多教程資源~