通过iPhone应用程序将PDF文件读取为字符串

时间:2010-09-16 13:10:18

标签: cocoa pdf nsxmlparser

我很困惑我应该在CGPDFDictionaryGetString函数中为“key”传递什么参数?我想从PDF文件中提取文本和图像。

1 个答案:

答案 0 :(得分:0)

您指定的方法通常用于提取String COS对象,并且可能在将文本从PDF页面中删除时几乎没有用。 COS对象存储在PDF的文档目录树中。您通常使用其键值在树中获取COS对象。 COS对象可以有几种不同的类型(字典,数组,数字,字符串,流等)。每种类型都用一个密钥标识,允许通过以下方法识别和检索它:

CGPDFDictionaryGetString(key)
CGPDFDictionaryGetNumber(key)
CGPDFDictionaryGetDictionary(key)

我自己从未需要提取页面文本,但查看简单的PDF文件,页面上的文本似乎位于页面的“内容”流中。

所以在你的情况下你可能想要做类似的事情 1)获取文档目录 2)获取“页面”字典 3)获得您关注的Page(n) 4)获取该页面的“内容”流并解析文本。

图像通常存储在页面的“资源”字典下(与“内容”流位于同一级别。

如果您想更好地了解COS对象树及其结构,可以使用Acrobat的“预检”实用程序查看当前查看的PDF。在高级菜单下:预检... |选项|浏览内部PDF结构......

当然,翻阅official spec是一个好主意:

希望有所帮助!