我已经实现了一个iPad应用程序,它实际上是读取PDF文件(使用石英)。现在我想实现搜索功能,为此我查看了一些教程,其中一些提到了使用石英,还有一些提到了FastPdfKit。但我不知道哪一个会更好。我见过石英(https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf_scan/dq_pdf_scan.html)。我对此有些怀疑。
- "运营商回调"我们使用此功能的原因是什么
- "操作员表"这样做的目的是什么?以及
- 我们将把搜索文本放在哪里
请在这方面建议我,或者提供我可以使用的任何其他开源。
提前谢谢。
CGPDFScanner
是一个相当低级别的API,它允许您选择性地扫描各种PDF运算符并调用每个运算符的回调。它确实需要你对PDF结构有一些了解,但它能胜任这项工作。PDF操作符是PDF文件中的一个命令,它执行一些操作(通常操作绘图状态,例如写入文本、绘制线条、更改图形状态等)。
从本质上讲,您可以告诉扫描仪您感兴趣的PDF操作符,并告诉它您想调用什么回调。在您的案例中,您对文本运算符TJ
、Tj
感兴趣;有关使用此API的工作文本搜索示例,请参阅此页,有关文本搜索的其他答案,请参阅本问题。
您可以在FastPdfKit上获得答案。如果你还有更多信息,请告诉我。我认为这将解决你的目的。
@Subodh S:目前,PDFKitten不支持多词查询。因此,不会搜索和突出显示您的关键字。您必须在源代码中处理自己,甚至更改PDFKitten中的一些点。