我有一个类型为CGPDFDictionaryRef的对象以某种方式从一个被认为是静态库的一部分的方法中返回(所以我无法访问它的代码来修改它),但是,我想知道这个字典对象持有的PDF文件的名称?如何查询才能得到文件名?
发布于 2012-02-02 08:38:26
CGPDF*函数是一种基于函数的机制,用于获取PDF文档中的一系列数组、字典、整数、字符串和名称元素。PDF文档本身实际上就是由这些“基本”元素组成的。如果你想看一些轻松的读物,找个时间看看~1500页的PDF规范。正如rob mayoff所说,一旦你有了一个CGPDFDocumentRef,你基本上就是在指向内存。
也就是说,在PDF结构中没有保证会给出文件名的值。下载Voyeur,仔细查看一下,证明我错了(我有可能是错的)。
以下是PDF的真实内容示例:

发布于 2012-01-28 14:41:20
有两个函数接受CGPDFDocumentRef并返回CGPDFDictionaryRef。它们是CGPDFDocumentGetInfo和CGPDFDocumentGetCatalog。这两个函数都不会返回包含原始文件名称的字典。CGPDFDocumentGetID返回的数组也不需要。
这是有意义的,因为您可以在没有文件的情况下,从通过套接字获得的数据或通过使用Quartz 2D绘制到CGPDFContext中来创建CGPDFDocumentRef。
如果你想要这个文件的名字,你必须通过其他方式得到它。
https://stackoverflow.com/questions/9004193
复制相似问题