C# 提取PDF中指定文本、图片的坐标

这篇具有很好参考价值的文章主要介绍了C# 提取PDF中指定文本、图片的坐标。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

获取PDF文件中文字或图片的坐标可以实现精确定位,这对于快速提取指定区域的元素,以及在PDF中添加注释、标记或自动盖章等操作非常有用。本文将详解如何使用国产PDF通过C# 提取PDF中指定文本或图片的坐标位置(X, Y轴)

✍ 用于操作PDF文件的第三方库为Spire.PDF for .NET。可以下载产品包后手动安装或者直接通用Nuget安装。

开始前我们首先了解该库关于PDF中坐标系的一些信息:

Spire.PDF for .NET使用 PdfPageBase 类表示PDF页面,由内容区域和四周的页边距组成。页面上坐标系的原点位于内容区域的左上角,x 轴从原点开始水平向右延伸,y 轴从原点开始垂直向下延伸 (如下图所示)。

C# 提取PDF中指定文本、图片的坐标,C#,.NET PDF,c#,pdf,开发语言,.net,坐标

通过指定坐标XY轴,我们可以在PDF页面指定位置处绘制文本图片表格等元素。当然Spire.PDF for .NET也提供了相应的接口来帮助大家获取已有PDF文件中指定文本或图片的坐标信息。具体操作如下。

C# 获取 PDF 中指定文本的坐标

要指定文本的坐标,主要分为两步实现:

  1. 首先需要使用 PdfTextFinder.Find() 方法查找PDF文件中所有指定文本;
  2. 查找到文本后,再通过 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[0];
                    Console.WriteLine(found);
                }
            }
        }
    }
}

C# 获取 PDF 中指定图片的坐标

与获取文字坐标类似,获取图片坐标主要也分为两步:

  1. 首先使用 PdfImageHelper.GetImagesInfo() 获取某个PDF页面中所有图片信息;
  2. 获取图片后,再通过 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[0];

            //创建PdfImageHelper对象
            PdfImageHelper helper = new PdfImageHelper();

            //获取页面中的图片信息
            PdfImageInfo[] images = helper.GetImagesInfo(page);

            //获取第一张图片的 X、Y 坐标
            float xPos = images[0].Bounds.X;
            float yPos = images[0].Bounds.Y;
            Console.WriteLine("图片坐标为({0},{1})", xPos, yPos);
        }
    }
}

加载的示例文档:

C# 提取PDF中指定文本、图片的坐标,C#,.NET PDF,c#,pdf,开发语言,.net,坐标

获取PDF中文字坐标的返回结果:

C# 提取PDF中指定文本、图片的坐标,C#,.NET PDF,c#,pdf,开发语言,.net,坐标

获取PDF中图片坐标的返回结果:

C# 提取PDF中指定文本、图片的坐标,C#,.NET PDF,c#,pdf,开发语言,.net,坐标

相关推荐阅读:

C# 提取 PDF 文档中的文本

C# 提取PDF中的图片

C# 查找并高亮PDF中的指定文本

Spire.PDF for .NET库的API文档文章来源地址https://www.toymoban.com/news/detail-757926.html

到了这里,关于C# 提取PDF中指定文本、图片的坐标的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用python提取PDF中各类文本内容的方法

    从PDF文档中提取信息,是很多类似RAG这样的应用第一步要处理的事情,这里需要做好三件事: 提取出来的文本要保持信息完整性,也就是准确性 提出的结果需要有附加信息,也就是要保存元数据 提取过程要完成自动化,也就是流程化 然而,在我们开始之前,我们需要指定目

    2024年02月01日
    浏览(36)
  • Springboot使用pdfbox提取PDF图片

    PDFBox是一个用于创建和处理PDF文档的Java库。它可以使用Java代码创建、读取、修改和提取PDF文档中的内容。 PDFBox的功能: Extract Text - 使用PDFBox,您可以从PDF文件中提取Unicode文本。 Split Merge - 使用PDFBox,您可以将单个PDF文件分成多个文件,并将它们合并为一个文件。 Fill Forms

    2024年02月10日
    浏览(46)
  • Python中的PDF文本提取:使用fitz和wxPython库(带进度条)

    引言: 处理大量PDF文档的文本提取任务可能是一项繁琐的工作。本文将介绍一个使用Python编写的工具,可通过简单的操作一键提取大量PDF文档中的文本内容,极大地提高工作效率。 在这个示例中,我们创建了一个 wx.ProgressDialog 对象,用于显示提取进度。在提取每一页的文本

    2024年02月14日
    浏览(56)
  • 在浏览器中使用javascript打印HTML中指定Div带背景图片内容生成PDF电子证书查询的解决方案

    要调用浏览器中的打印功能,并指定需要打印的内容为特定的DIV内的内容,你可以使用JavaScript来实现。下面是一种实现方法: 首先,在需要打印的DIV标签上添加一个唯一的ID属性,例如: 接下来,在JavaScript中使用 window.print() 方法来调用浏览器的打印功能,并指定打印的内容

    2024年02月13日
    浏览(61)
  • PDF控件Spire.PDF for .NET【安全】演示:使用文本或/和图像对 PDF 进行数字签名

    数字签名确保签名的文档不能被除其作者之外的任何人更改。添加签名是确保文档内容真实性的最常见方法。PDF 文档中的可视数字签名可以显示文本或图像(例如手写签名)。本文从以下三个方面介绍如何使用Spire.PDF for .NET对PDF 进行数字签名。 Spire.PDF for .NET 是一款独立

    2024年01月23日
    浏览(47)
  • 通过Python的fitz库提取pdf中的图片

    大家好,我是空空star,本篇给大家分享一下 《通过Python的fitz库提取pdf中的图片》 。 Fitz库是一个Python图像处理库,主要用于打开、编辑和保存PDF、TIFF和JPEG格式的图像。它可以帮助用户读取和写入PDF文件,提取PDF页面以及在页面上进行标记和注释。此外,Fitz库还提供了一些

    2024年02月07日
    浏览(52)
  • C# 图片转PDF,PDF增加水印文字

    好久没写博客了,今天给大家分享一个图片转PDF的相关操作,也算是一次总结吧。 首先需要准备动态库itextsharp.dll,这个dll去网上下载,都可以下载到,C#对PDF的操作都是基于这个类库来实现的。话不多说,直接上代码。

    2024年02月09日
    浏览(50)
  • 如何在Windows中使用C#填写和提取PDF表单

    PDF表单不仅允许用户填写和提交数据,也允许用户创建各种表单域收集用户的数据,并通过提取表单字段值,将收集和合并提交的数据进一步分析或处理。PDF通过电子方式填写、保存和共享的形式,不仅减少了对纸质和手动数据输入的需求,还方便个人和组织使用。这也是

    2024年02月09日
    浏览(36)
  • PDF处理控件aspose.PDF功能演示:使用 C# .NET 复制 PDF 页面

    作为程序员,您通常必须以纯文本形式从 PDF 文件中提取内容以进行进一步处理,例如分析和信息提取。如果没有合适的工具,处理 PDF 文件并将整个 PDF 转换为 TXT 格式是一项麻烦的任务。因此,在本博客中,我们将探讨如何使用 C# 以编程方式将 PDF 文件转换为 TXT 格式。 A

    2024年01月23日
    浏览(52)
  • Python - 读取pdf、word、excel、ppt、csv、txt文件提取所有文本

    本文对使用python读取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法进行分享和使用总结。 可以读取不同文件的库和方法当然不止下面分享的这些,本文的代码主要目标都是:方便提取文件中所有文本的实现方式。 这些库的更多使用方法,请到官方文档中查

    2024年02月13日
    浏览(124)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包