iPhone上的PDF搜索

iPhone上的PDF搜索,第1张

概述经过两天的时间尝试从PDF中使用Quartz读取注释,我已经设法做到了这一点,而 posted my code。 现在我想对另一个常见问题做同样的事情:用Quartz搜索PDF文档。同样的情况,这个问题已经被问了很多次,几乎没有实际的答案。所以我首先需要一些指针,因为我还没有自己实现。 我试过: 我尝试使用CGPDFScannerScan处理TJ和Tj运算符 – 返回一些PDF上的正确文本,而在其 经过两天的时间尝试从pdf中使用Quartz读取注释,我已经设法做到了这一点,而 posted my code。

现在我想对另一个常见问题做同样的事情:用Quartz搜索pdf文档。同样的情况,这个问题已经被问了很多次,几乎没有实际的答案。所以我首先需要一些指针,因为我还没有自己实现。

我试过:

我尝试使用CGpdfScannerScan处理TJ和Tj运算符 – 返回一些pdf上的正确文本,而在其他文档中,它返回大多数随机字母。也许它与文本编码有关?
应该处理某人pointed out的文字(由BT / ET *** 作符标记),但我仍然没有设法这样做。任何人设法从任何pdf提取文本?

之后,通过将所有文本存储在NSMutableString中并使用rangeOfString(如果有更好的方式请让我知道),搜索应该很容易。

但那么如何突出显示结果?我知道有几个 *** 作符可以找到字形大小,所以我可以根据这些值计算得到的rect,但是我已经读了几个小时的规格了,这是一个blo肿的混乱,我会疯了。任何人有实际的解释?

更新

用户Naveen Thunga发现PDFKitten是“从iOS中的pdf提取数据的框架”。我只是试用了这个演示,似乎像广告一样工作。我会用更多的pdf进行测试,并会尽快发布结果。作为一个附注,代码对我来说似乎很好 – 如果你对这个东西如何工作感兴趣,这是非常棒的。

解决方法 这不是一个简单的问题来实现,但它是直截了当的。

对于任何给定的页面,您需要使用CGpdf扫描器API扫描页面。您需要注册影响页面中文本的pdf *** 作符的回调 – 不仅仅是TJ / Tj,还要设置字体,影响文本绘图矩阵等的回调。您需要构建一个状态机,以便每个遇到的标签参数更新。您需要检查当前字体编码的文本计费。当您找到要突出显示的文本时,您需要检查您正在更新的当前文本图形矩阵以确定绘图坐标。阅读pdf规范(1.7版可从Adobe下载),以了解您需要注意的 *** 作符。

字体编码可能是最困难的部分,因为有几种方式可以指定编码,其中一些是字体专有的。大多数情况下,您可以欺骗并回退ANSI编码的一个子集 – 但是这个WILL会在具有奇怪字体的某些pdf上打破。

基本上你正在处理页面,就像你要渲染一样。

总结

以上是内存溢出为你收集整理的iPhone上的PDF搜索全部内容,希望文章能够帮你解决iPhone上的PDF搜索所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1087055.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存