我知道以前有人问过这个问题,但我会说得更具体些。
我有一个CGPDFDocumentRef文档,我想找到这个预告片,最好是以CGPDFDictionaryRef的形式,这样我就可以查看它的加密字典,看看它是否允许文本提取。
苹果图书馆似乎没有办法让我查到这本字典。
您可以使用CGPDFDocumentGetCatalog()获取目录,是否存在与CGPDFDocumentGetTrailer()等效的目录?
如果不是,我想我将不得不亲自为预告片手动解析PDFDocument。
这些人:How to find the trailer dictionary?
讨论如何编写这样低级别的解析器。
如何获得他们正在解析的代码?
我能否将PDF中的最后一页转换为CGPDFStream,然后将该流转换为NSData,然后可能转换为ascii,然后开始实现他们正在讨论的拖车解析器?
谢谢!
发布于 2016-03-01 22:17:47
两方面的回答:
1)不,苹果没有提供进入预告片的功能。如果您仍然想访问它,您必须以二进制文件的形式打开PDF文件,并构建一个经过它的解析器(如描述PDF文件格式的ISO32000-1标准所描述的那样)。
更有可能的是,你不需要这么做(幸运的是,这并不是一件容易的事情)。Apple为您提供了以下两个功能:
bool CGPDFDocumentIsEncrypted ( CGPDFDocumentRef document );这将告诉您文档是否加密。
bool CGPDFDocumentAllowsCopying ( CGPDFDocumentRef document );这将告诉您文档是否允许从其中复制文本(并由此提取文本)。
https://stackoverflow.com/questions/35729231
复制相似问题