在NSString中从pdf获取文本

我正在尝试制作一个iOS应用程序,它将从PDF文件中提取纯文本并将其显示在UITextView 。 它根本不是一个PDF阅读器来查看PDF文件,但我后来希望对该文本执行某些操作。 我已经search了很多,但仍然无法得到一个确切的解决scheme。

我已经尝试使用https://github.com/zachron/pdfiphone,但文件使用ARMV6架构,似乎与xcode 4.5过时

如果任何人都可以使用iOS的Quartz-2d框架build议一些确切的和非混淆的代码,那么它会很好。

这里是一个示例代码从PDF提取文本希望这可能会帮助你。

https://github.com/zachron/pdfiphone

这是一个图书馆,从iPhone的PDF文件。

另一个演示是在那里使用OCR技术find下面的链接

https://github.com/nolanbrown/Tesseract-iPhone-Demo

另外,请查看“ Quartz 2D编程指南”的 页面 ,它涵盖了在iOS中打开和parsingPDF文件所需的一切。 请注意,这不是一个简单的任务,因为没有办法在一行中提取全文。 您必须使用CGPDFScanner将数据用作inputstream

两个其他的图书馆

  1. https://github.com/KurtCode/PDFKitten/
  2. https://github.com/mobfarm/FastPdfKit

这个问题一直出现。 一般来说,从PDF中提取文本是非常困难的。 PDF规范没有devise考虑文本提取。 有许多图书馆试图完成这项工作,主要是通过从单个字形的几何位置重构文本。 这些库有不同程度的成功,但在某些PDF文档中都会失败。 实际上,一些PDF文档具有字形,但无法将字形与angular色相关联。 对于这些文档,根本不可能提取文本,缺less使用某种OCR方法。

PDF被devise为可移植的只读格式,因为PDF文档在任何平台上的呈现方式都是相同的。 这是最好的,它应该用于什么。

如果要编辑文本,请不要使用PDF。

在这里(使用objective-c从pdf中提取文本) ,我find了一个对你的问题的答案,它的工作原理。 但不是很好,因为我需要它:(

  • 它只能提取ascii
  • 它只返回一个段落

祝你好运。