C# 提取PDF中指定文本、图片的坐标
获取PDF文件中文字或图片的坐标可以实现精确定位,这对于快速提取指定区域的元素,以及在PDF中添加注释、标记或自动盖章等操作非常有用。本文将详解如何使用国产PDF库通过C# 提取PDF中指定文本或图片的坐标位置(X, Y轴)。✍ 用于操作PDF文件的第三方库为Spire.PDF for .NET。可以下载产品包后手动安装或者直接通用Nuget安装。
开始前我们首先了解该库关于PDF中坐标系的一些信息:
Spire.PDF for .NET使用 PdfPageBase 类表示PDF页面,由内容区域和四周的页边距组成。页面上坐标系的原点位于内容区域的左上角,x 轴从原点开始水平向右延伸,y 轴从原点开始垂直向下延伸 (如下图所示)。
通过指定坐标XY轴,我们可以在PDF页面指定位置处绘制文本、图片、表格等元素。当然Spire.PDF for .NET也提供了相应的接口来帮助大家获取已有PDF文件中指定文本或图片的坐标信息。具体操作如下。
C# 获取 PDF 中指定文本的坐标
要指定文本的坐标,主要分为两步实现:
[*]首先需要使用 PdfTextFinder.Find() 方法查找PDF文件中所有指定文本;
[*]查找到文本后,再通过 PdfTextFragment.Positions 属性进一步获取其 (X, Y) 坐标信息。
代码:
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.Drawing;
namespace GetCoordinatesOfText
{
class Program
{
static void Main(string[] args)
{
//创建PdfDocument对象
PdfDocument pdf = new PdfDocument();
//加载PDF文件
pdf.LoadFromFile("大数据.pdf");
//遍历所有页面
foreach (PdfPageBase page in pdf.Pages)
{
//创建PdfTextFinder对象
PdfTextFinder finder = new PdfTextFinder(page);
//设置查找选项
PdfTextFindOptions options = new PdfTextFindOptions();
options.Parameter = TextFindParameter.IgnoreCase;
finder.Options = options;
//查找页面中所有指定文本
List<PdfTextFragment> fragments = finder.Find("海量");
//遍历所有查找的文本
foreach (PdfTextFragment fragment in fragments)
{
//获取文本的坐标信息
PointF found = fragment.Positions;
Console.WriteLine(found);
}
}
}
}
}
C# 获取 PDF 中指定图片的坐标
与获取文字坐标类似,获取图片坐标主要也分为两步:
[*]首先使用 PdfImageHelper.GetImagesInfo() 方法获取某个PDF页面中所有图片信息;
[*]获取图片后,再通过 PdfImageInfo.Bounds 属性获取其 (X, Y) 坐标信息。
代码:
using Spire.Pdf;
using Spire.Pdf.Utilities;
using System;
namespace GetCoordinatesOfImage
{
class Program
{
static void Main(string[] args)
{
//创建PdfDocument对象
PdfDocument pdf = new PdfDocument();
//加载PDF文件
pdf.LoadFromFile("大数据.pdf");
//获取指定页面
PdfPageBase page = pdf.Pages;
//创建PdfImageHelper对象
PdfImageHelper helper = new PdfImageHelper();
//获取页面中的图片信息
PdfImageInfo[] images = helper.GetImagesInfo(page);
//获取第一张图片的 X、Y 坐标
float xPos = images.Bounds.X;
float yPos = images.Bounds.Y;
Console.WriteLine("图片坐标为({0},{1})", xPos, yPos);
}
}
}加载的示例文档:
获取PDF中文字坐标的返回结果:
获取PDF中图片坐标的返回结果:
相关推荐阅读:
C# 提取 PDF 文档中的文本
C# 提取PDF中的图片
C# 查找并高亮PDF中的指定文本
Spire.PDF for .NET库的API文档
来源:https://www.cnblogs.com/Yesi/archive/2023/12/15/17903271.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]