如何使用CGPDFDictionaryRef对象引用知道PDF文件名

JAH*_*lia 4 iphone objective-c ios

我有一个类型的对象CGPDFDictionaryRef以某种方式从一个被认为是静态库的一部分的方法返回(因此我无法访问其代码来修改它),但是,我想知道这个PDF文件的名称字典对象持有?如何查询它以获取文件的名称?

rob*_*off 5

有两个函数可以使用CGPDFDocumentRef和返回a CGPDFDictionaryRef.他们是CGPDFDocumentGetInfoCGPDFDocumentGetCatalog.两个函数都不返回包含原始文件名称的字典.数组也没有返回CGPDFDocumentGetID.

这是有道理的,因为您可以创建一个CGPDFDocumentRef没有文件,从通过套接字获取的数据或通过CGPDFContext使用Quartz 2D 绘制.

如果你想要文件的名称,你必须以其他方式得到它.


sha*_*all 5

CGPDF*函数是一种基于函数的机​​制,用于获取PDF文档中的一系列数组,字典,整数,字符串和名称元素.PDF文档本身实际上只是由这些"基本"元素组成.如果你想要一些轻读,请查看~1500页PDF规范.正如rob mayoff所说,一旦你有了CGPDFDocumentRef,你基本上就指向了内存.

话虽如此,PDF结构中没有任何值可以保证您提供文件名.下载偷窥并挖掘你的PDF,环顾四周,证明我错了(我可以).

以下是PDF真实内容的示例:

偷窥样本