iOS PDF 原生搜索

iOS PDF native search

我需要在我的应用程序中显示和打开 pdf 文档。由于更新原因,我想避免使用第三方库(而且我找不到在 swift 中创建的任何人)。

我一直在查看 QLPreviewController、UIDocumentInteractionController 并在 UIWebView 中显示 pdf。所有这些替代方案都可以很好地呈现 pdf,但我找不到任何内置搜索。我想要像 iBooks 应用程序这样的功能。

如有任何建议,我们将不胜感激!

你可能找不到任何用 Swift 编写的第 3 方框架,只是因为从 Swift 2.2 开始,它还不兼容二进制,任何用 [=30] 编写的二进制框架=] 即使是对 Xcode 的微小更新(以及对编译器的更新,也就是)。

也会非常脆弱。

我正在为 iOS 和 Android 制作商业广告 PSPDFKit SDK。我们实际上在内部使用了很多 C++,因为原始性能非常重要,而且 Objective-C(对于许多事情,还有 Swift)对于某些任务来说还不够快。

我们确实投入了大量时间来采用最新的 Objective-C 功能,例如 nullability and generics next to declarations such as noescape 基于块的 API 使我们的 SDK 非常适合在 [=30] 中使用=].

虽然单独的 Swift-wrapper 可以提供额外的便利,但您会发现它使用起来非常简单,而且我们一直在努力采用更多的功能来改进可用的桥接 - 有Swift 3 个提案中的一些有趣的事情。

如果您不想走框架路线,可以使用 CGPDFScanner 基于自定义文本提取引擎。您将需要阅读 Character Map Parsing - 第 446ff 页和许多其他部分 - 从 PDF 文档中提取文本出奇地困难,经过大量工作后,您将留下单独的字形位置,需要估计单词的位置以及文档是否使用空格,或者您是否需要合成自己的空格以正确提取文本。这需要大量的实验和近似才能得到正确的结果。