【问题标题】:Reading PDF files as string through iPhone application通过 iPhone 应用程序以字符串形式读取 PDF 文件
【发布时间】:2011-04-13 05:19:20
【问题描述】:

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

【问题讨论】:

    标签: cocoa pdf nsxmlparser


    【解决方案1】:

    您指定的方法通常用于提取字符串 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 是个好主意:

    希望对您有所帮助!

    【讨论】:

    • 但是 CGPDFDictionaryGetString(key) 中的“Key”应该是什么?
    猜你喜欢
    • 2012-10-06
    • 2013-04-13
    • 1970-01-01
    • 2019-05-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    相关资源
    最近更新 更多