彩票走势图

Spire.PDF图片和图形教程:如何获取PDF文档中的文本和图片

翻译|使用教程|编辑:李显亮|2019-07-11 09:45:56.580|阅读 1018 次

概述:Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件。文本和图片是PDF文档的重要组成部分。本文将介绍如何通过编程的方式使用C#获取PDF文档中的文本和图片并保存到本地路径,以及如何从指定的页面区域提取文本。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程


下载Spire.PDF最新试用版


Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API拥有丰富的功能,如安全设置(包括数字签名)、PDF文本/附件/图片提取、PDF文件合并/拆分、元数据更新、章节和段落优化、图形/图像描绘和插入、表格创建和处理、数据导入等等。

文本和图片是PDF文档的重要组成部分。本文将介绍如何通过编程的方式使用C#获取PDF文档中的文本和图片并保存到本地路径,以及如何从指定的页面区域提取文本。


C# 如何提取 PDF 文档中的文本和图片

提取PDF文档中的文本

//实例化一个PdfDocument对象
PdfDocument doc = new PdfDocument();

//加载PDF文档
doc.LoadFromFile("测试文档.pdf");

//实例化一个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());

提取 PDF 文档中的图片

//加载PDF文档
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("测试文档.pdf");

ListListImage = new List();

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)
    {
        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);
    }
  
}

Extract-text-and-image-from-PDF.png

C# 从 PDF 页面的指定区域内提取文本

有时我们可能需要获取PDF页面中某个区域内的文本而不是全部的文本。以下是示例文档截图,红色矩形区域是即将提取文本的区域。

1562809222.png

//创建PdfDocument实例  
PdfDocument pdf = new PdfDocument();  
//加载PDF文档  
pdf.LoadFromFile("Input.pdf");  
   
//获取第一页  
PdfPageBase page = pdf.Pages[0];  
   
//从第一页的指定矩形区域内提取文本  
string text = page.ExtractText(new RectangleF(50, 50, 500, 100) );  
   
//将文本写入.txt文件  
StringBuilder sb = new StringBuilder();  
sb.AppendLine(text);  
File.WriteAllText("Extract.txt", sb.ToString());

效果图

Extract-Text-from-a-Specific-Rectangular-Area-in-PDF-2.png


*想要购买正版授权的朋友可以哦~

如果你有任何问题或意见,可在下方评论区留言,点击资源列表查看更多教程资源~


850X100.png


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP