我很困惑我应该在CGPDFDictionaryGetString函数中为“key”传递什么参数?我想从PDF文件中提取文本和图像。
答案 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是一个好主意:
希望有所帮助!