0

我知道以前有人问过这个问题,但我会更具体。

我有一个 CGPDFDocumentRef 文档,我想找到预告片,最好是 CGPDFDictionaryRef 的形式,这样我就可以查看它的 Encrypt 字典并查看它是否允许文本提取。

苹果图书馆似乎没有办法让我得到这本字典。

您可以使用 CGPDFDocumentGetCatalog() 获取目录 是否有等效于 CGPDFDocumentGetTrailer() 的方法?

如果不是,我想我将不得不自己手动解析预告片的 PDFDocument。

这些家伙:如何找到预告片字典?

谈论编写这样一个低级解析器。

我怎样才能得到他们正在解析的代码?

我可以将 PDF 中的最后一页转换为 CGPDFStream,然后将该流转换为 NSData,然后再转换为 ascii,然后开始实现他们正在谈论的 Trailer 解析器吗?

谢谢!

4

1 回答 1

1

双重答案:

1) 不,Apple 不提供到达预告片的功能。如果您仍想访问它,则必须将 PDF 文件作为二进制文件打开并构建一个解析器(如描述 PDF 文件格式的 ISO 32000-1 标准中所述)。

2)您很可能不需要(幸运的是,这不是一件容易的事)。苹果贴心地为你提供了这两个功能:

bool CGPDFDocumentIsEncrypted ( CGPDFDocumentRef document );

这将告诉您文档是否已加密。

bool CGPDFDocumentAllowsCopying ( CGPDFDocumentRef document );

这将告诉您文档是否允许从中复制文本(以及文本提取)。

于 2016-03-01T22:17:47.747 回答