如何从PDF页面获取文本?
答
这是用于iOS或OS X的吗?如果对于OS X,您可以简单地创建一个Automator工作流程来提取文本,并从您的应用程序调用该工作流程。 Automator具有PDF操作“Extract PDF Text”就是为了这个目的。 Automator framework允许从你的应用程序调用automator动作。还有一些示例代码可以在http://rogueamoeba.com/utm/2005/06/03/找到(请注意,实际代码已经更新以使用Automator框架)。
答
首先 - 放弃任何用于解析PDF的“快速&脏”解决方案 - 它会失败。我的同事花了很多时间在iOS上正确地解决这个问题。他的前3名(质量,降序)选项:
- muPDF(http://www.mupdf.com/)伟大的图书馆 - 它会做提取罚款。它在GPL下获得许可,但这对于我们的专有应用来说是一个阻碍。
- 基于CGPDFScanner的自制解决方案。你可以找到如何做到这一点的简短说明here。这种方法的主要问题是SDK本身 - 苹果公司的PDF API非常严格(并且故意怀疑)是有限的。例如,您必须在2D空间中放置提取的文本块,因为PDF不能保证绘图的顺序与文本流相匹配,并且iOS SDK在这里没有什么帮助。
- Poppler(http://poppler.freedesktop.org/)是可以的,但对于文本提取,它大致等同于第二个选项(具有大量额外的依赖关系)。
可以有更多的选项与Mac OS X,但我不知道他们。
+1
muPDF仅用于查看。 – Jamil 2016-03-21 10:52:40
重复的问题。请参阅http://stackoverflow.com/questions/3287635/how-to-parse-pdf-in-objective-c-for-ipad – Avi 2012-02-24 08:36:17
那么答案在哪里呢? – demon9733 2012-02-24 08:38:15
@Avram这个问题与从PDF提取文本无关 – hoha 2012-02-24 08:39:27