C# 如何提取PDF文本和图片
程序员文章站
2022-03-29 13:03:54
...
在工作中,我们使用PDF文档时常会因为文档不易操纵编辑的特点而在处理文档上花费较多的时间,对于开发者而言,我们需要通过使用一种简便的方法对PDF文档进行操作。那对于提取PDF文本和图片时,我们应该如何实现呢?本篇文章将介绍通过使用免费的PDF控件——Free Spire.PDF来提取文本和图片的方法。控件可以在此处获取。
注意:在下载安装该组件后,dll文件可在压缩包解压后的文件夹Bin获取。在项目程序中注意添加引用。
原文档:
1.提取PDF文本
C#
//创建一个PdfDocument类对象,并加载PDF samle PdfDocument doc = new PdfDocument(); doc.LoadFromFile("sample.pdf"); //实例化StringBuilder类 StringBuilder buffer = new StringBuilder(); //遍历文档,提取文本 foreach (PdfPageBase page in doc.Pages) { buffer.Append(page.ExtractText()); } doc.Close(); //保存文档 String fileName = "TextInPdf.txt"; File.WriteAllText(fileName, buffer.ToString()); buffer = null;
运行程序,生成文档:
2.提取图片
C#
//创建一个PdfDocument类对象并加载PDF sample PdfDocument doc = new PdfDocument(); doc.LoadFromFile("sample.pdf"); //声明一个IList类,元素为image IList<Image> images = new List<Image>(); //遍历PDF文档中诊断是否包含图片,并提取图片 foreach (PdfPageBase page in doc.Pages) { if (page.ExtractImages() != null) { foreach (Image image in page.ExtractImages()) { images.Add(image); } } } doc.Close(); //遍历提取的图片,保存并命名图片 int index = 0; foreach (Image image in images) { String imageFileName = String.Format("Image-{0}.png", index++); image.Save(imageFileName, ImageFormat.Png); }
提取图片后: