首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iPhone/iPad上处理用CGPDFScanner获得的PDF文本矩阵(Tm)值

在iPhone/iPad上处理用CGPDFScanner获得的PDF文本矩阵(Tm)值
EN

Stack Overflow用户
提问于 2011-03-23 10:11:21
回答 2查看 3.5K关注 0票数 3

我试图解析pdf内容,以搜索和突出文本。我设法用CGPDF的东西找到文本与TJ和Tj运算符,并说在哪个页面上的单词是。问题在于突出显示。

我跟踪了许多其他的帖子,比如这个获取文本位置或者这个Pdf搜索

我知道文本定位的操作符是Tm (文本矩阵)、TD和Td (T*可能),但我不知道如何使用这些信息。

当我打印Tm值时,我得到一个9位整数,我可以假设这是一个3x3矩阵。我可以给你输出:

2011-03-23 10:59:07.894 PDFSearch11035:40b BT(I) 161361744: 2011-03-23 10:59:07.896 PDFSearch11035:40b TM(I) 161361104: 2011-03-23 10:59:07.897 PDFSearch11035:40b Tf(I) 161361616: 2011-03-23 10:59:07.899 PDFSearch11035:40b TJ: R 2011-03-23 10:59:07.899 PDFSearch11035:40b TJ: E 2011-03-23 10:59:07.901 PDFSearch11035:40b TJ: T 2011-03-23 10:59:07.901 PDFSearch11035:40b TJ: I 2011-03-23 10:59:07.903 PDFSearch11035:40b TJ: co 2011-03-23 10:59:07.903 PDFSearch11035:40b TJ: L 2011-03-23 10:59:07.905 PDFSearch11035:40b TJ: O 2011-03-23 10:59:07.907 PDFSearch11035:40b及(I) 161361872:

知道如何用它找到文本定位吗?然后用它在pdf视图上用quartz2D来显示一个盒子?

谢谢:)

EN

回答 2

Stack Overflow用户

发布于 2011-08-13 12:14:19

Tm操作符有6个参数,因此您需要使用CGPDFScannerPopNumber 6次,这将得到6个可以用来构造CGAffineTransform的浮点值。ef参数对应于txty,否则字段名相同。

有关更多详细信息,请参阅PDF规范,特别是关于文本的章节(第250页涵盖Tm操作符)。

请记住,操作数是从堆栈中弹出的,因此f将是您获得的第一个值,a将是最后一个值。

票数 3
EN

Stack Overflow用户

发布于 2011-08-13 12:05:43

查看PDFKitten,开源项目,它们解析所有的TJ、Tj、TM和其他容器来计算屏幕上的文本位置。这并不完美,但只是个开始。在pdfs中搜索可能很棘手,有很多方法可以生成pdf显示文本,其中有些甚至根本不是字体。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5403610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档