我知道之前有人问过这个问题,但我会更具体一些。
我有一个 CGPDFDocumentRef 文档,我想找到预告片,最好是 CGPDFDictionaryRef 的形式,这样我就可以查看它的 Encrypt 字典,看看它是否允许文本提取。
苹果图书馆似乎没有办法让我找到这本字典。
您可以使用 CGPDFDocumentGetCatalog() 获取目录 是否有 CGPDFDocumentGetTrailer() 的等价物?
如果不是,我想我将不得不自己手动解析预告片的 PDFDocument。
这些家伙:How to find the trailer dictionary?
谈论编写如此低级的解析器。
我怎样才能得到他们正在解析的代码?
我能否将 PDF 中的最后一页转换为 CGPDFStream,然后将该流转换为 NSData,然后可能转换为 ascii,然后开始实现他们正在讨论的 Trailer 解析器?
谢谢!
最佳答案
双重答案:
1) 不,Apple 不提供访问预告片的功能。如果您仍然想访问它,则必须将 PDF 文件作为二进制文件打开,并构建一个解析器来解析它(如描述 PDF 文件格式的 ISO 32000-1 标准中所述)。
2)很可能,您不需要(幸运的是,因为这不是一件容易的事)。苹果贴心地为你提供了这两个功能:
bool CGPDFDocumentIsEncrypted ( CGPDFDocumentRef document );
这将告诉您文档是否已加密。
bool CGPDFDocumentAllowsCopying ( CGPDFDocumentRef document );
这将告诉您文档是否允许从中复制文本(从而提取文本)。
关于ios - 如何从 CGPDFDocumentRef 获取预告片字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35729231/