在本篇文章中我将分享如何使用C#编程的方法来获取PDF文档中文字的字体信息(字体名称大小类型等)及指定文字的坐标(X,Y),宽度高度。这个方法使用了一个免费PDF组件Free Spire.PDF。

Free Spire.PDF简单介绍


Free Spire.PDF是Spire.PDF的免费版本。Spire.PDF是一款独立 的PDF 控件,用于在.NET 程序中创建、读取、写入、编辑和操作PDF 文档且无需系统安装Adobe Acrobat。它支持的功能也很全面,例如文档安全性设置(电子签名),提取文本、图片,PDF文档合并和拆分及打印,插入图片、创建表格和导入数据等等。除此以外,还支持将TXT、图片、HTML等格式转换为PDF格式。

Free Spire.PDF组件下载和安装

  1. 官网下载
  2. Nuget下载
  3. 在VS中直接使用NuGet Package Manager 搜索FreeSpire.PDF

如下图:


安装完成后,接下来就使用它来获取一个PDF文档的字体信息及指定文字的坐标,宽度和高度。

获取字体信息

步骤解析:

  1. 创建一个C#控制台应用程序,添加Spire.Pdf.dll作为引用,然后添加命名空间
  2. 加载PDF文档
  3. 获取当前文档的所有字体并将其保存到数组
  4. 遍历数组,获取每一个字体的信息如字体名称,字体大小,字体类型等

代码:

using System;
using Spire.Pdf;
using Spire.Pdf.Graphics.Fonts;namespace 获取字体信息
{class Program{static void Main(string[] args){//加载文档PdfDocument doc = new PdfDocument();doc.LoadFromFile(@"E:\Program Files\示例.pdf");//获取当前文档的所有字体PdfUsedFont[] usedfont = doc.UsedFonts;foreach (PdfUsedFont font in usedfont){//打印每个字体的字体名称、大小及类型Console.WriteLine("{0}, {1}, {2}", font.Name, font.Size, font.Type);}}}
}

运行结果:

获取指定文字的坐标,宽度及高度

步骤解析:

  1. 创建项目,添加对dll的引用及命名空间
  2. 加载PDF文档
  3. 遍历PDF文档的所有页,查找指定的文字,并将查找结果保存到数组,之后遍历该数组来获取每一个查找结果的宽度、高度和坐标信息

代码:

using System;
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.General.Find;namespace 获取指定文字的坐标
{class Program{static void Main(string[] args){//加载文档PdfDocument doc = new PdfDocument();doc.LoadFromFile(@"E:\ProgramFiles\PDF.pdf");PdfTextFind[] result = null;foreach (PdfPageBase page in doc.Pages){result = page.FindText("PDF").Finds;foreach (PdfTextFind text in result){//获取文字的坐标,宽度和高度PointF pf = text.Position;SizeF size = text.Size;Console.WriteLine(pf);Console.WriteLine(size + "\n");}}}}
}

运行结果:

感谢阅读,希望本文能给您带来一定的帮助!

C# 获取PDF文档的字体信息及指定文字的坐标,宽度和高度相关推荐

  1. C# / VB 获取PDF文档的数字签名信息

    文档中的数字签名具有不可否认性,可有效防伪防篡改.对文档中已有的数字签名信息,可通过一定方法获取,下面通过程序代码介绍如何来实现.程序中,使用了Spire.PDF.dll,版本:6.11.6,可自行在 ...

  2. python之pdfminer:从PDF文档中抽取信息的工具

    pdfminer是一个用于从PDF文档中抽取信息的Python库.它提供了一系列的功能,使我们能够读取和解析PDF文件,并从中提取文本内容.元数据.页面布局和图片等.本文将详细介绍pdfminer库的 ...

  3. [开发笔记]-C#获取pdf文档的页数

    [操作pdf文档]之C#判断pdf文档的页数: /// <summary>/// 获取pdf文档的页数/// </summary>/// <param name=&quo ...

  4. VUE 获取PDF文档流直接打印

    一.项目需求 前端点击按钮直接调起打印对应pdf文档. 二.踩坑 刚开始通过api获取后端给的PDF地址,创建一个隐藏的iframe标签src设置为pdf地址:前端通过获取隐藏的iframe标签的id ...

  5. 使用pymupdf获取pdf文档中的文本下划线信息(全网唯一解决方案)

    1,问题描述 最近,公司需要对一批pdf文档进行解析,获取其中文字,并再展示到前端页面上.如果单纯地提取文字,其实非常容易,但麻烦的在于保存原有文档中的文本格式,例如加粗.斜体.下划线,以及三者的各种 ...

  6. adobe acrobat看PDF文档显示字体发虚,有毛刺的解决办法

    一直使用acrobat阅读pdf文档,有次不小心点到了什么,然后出来一个弹窗,没注意就把它关闭了,结果发现打开不少文档时,字体颜色较浅,笔画也很细,整体感觉有些模糊不清,看着很是吃力.先前由于办理签证 ...

  7. itext设置pdf的尺寸_如何获取pdf文档iText 7的页面大小-问答-阿里云开发者社区-阿里云...

    我在iText 7中有一个Java程序,可以接收JSON数据并生成一个PDF文档(带有页眉和页脚),该文档可以很好地处理clientData注释中的变量中的数据,但是当在无注释clientData中使 ...

  8. Java获取文档页数_获取PDF文档中的页数

    一个简单的命令行可执行文件,名为:pdfinfo . 这是downloadable for Linux and Windows . 您下载包含几个与PDF相关的小程序的压缩文件 . 在某处提取它 . ...

  9. Java 读取 Word文档的字体、字号、文字颜色、文字背景、文字是否加粗或倾斜、文字下划线、段落等属性

    Work库:free spire.doc.jar 3.9.0 由于这个包比较大,maven依赖容易下载失败,故此提供百度云下载地址,下载地址在最下面         可支持读取字体.字号.文字颜色.文 ...

  10. 教程:一次性修改整个pdf文档的字体的方法,解决一次只能修改一页问题

    想修改pdf字体,在网上找了一大堆pdf编辑器,甚至Adobe官方网页都说明了一次只能修改一页,这样肯定不行, 然后把pdf转换为word再编辑,发现转成word后,排版会出现一些小问题,修改字体后, ...

最新文章

  1. 2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - H. 饮料换购
  2. 音视频技术开发周刊(第127期)
  3. 设计模式之观察者模式--中英文结合理解版
  4. python concat_python中merge、concat用法
  5. 采用合适的网站优化技术
  6. acer电脑设置u盘启动方法
  7. Android学习笔记之Bitmap位图的缩放
  8. 谭礼铨:3月21日阿里云北京峰会网络大神
  9. 如何在Linux上编写和运行程序?
  10. Linux电源管理(五)thermal
  11. python3 练习题 day02
  12. 2022.6.28 JCR最新发布(期刊影响因子)
  13. Androi事件分发( 二),解决事件冲突
  14. 计算机用户administer改名后,win10系统用户文件夹改名的详细步骤
  15. c语言期末考试-小题
  16. ccsds ldpc matlab,CCSDS标准的LDPC编译码仿真
  17. Screenmonitor(全自动截屏软件)
  18. 显著性检测研究思路和方法
  19. 【经典算法】:狐狸抓兔子问题
  20. $(window).height() 和 $(document).height()的区别

热门文章

  1. TCP/UDP调试工具的使用
  2. 2021-2027全球与中国全自动探针台市场现状及未来发展趋势
  3. Mat转QImage
  4. 计算机网络技术摘要,计算机网络技术应用和发展
  5. keymap 键盘映射工具
  6. UISwitch的使用
  7. svn合并分支到主干
  8. 《鸟哥的Linux私房菜》第四版导学
  9. 植物大战僵尸修改办法
  10. 图解CNN十大算法架构