iOS:如何检索';页码标签';pdf格式的页面?

iOS:如何检索';页码标签';pdf格式的页面?,ios,pdf,adobe,cgpdfdocument,Ios,Pdf,Adobe,Cgpdfdocument,我有一个pdf,其中第1页的页码为罗马1,即“I” 现在如何获得这些信息。 我知道使用目录我可以得到页面标签字典 CGPDFDictionaryRef catalog = CGPDFDocumentGetCatalog(document); if (CGPDFDictionaryGetDictionary(catalog, "PageLabels", &PageLabels) == true) { } 通过访问页面标签

我有一个pdf,其中第1页的页码为罗马1,即“I”

现在如何获得这些信息。 我知道使用目录我可以得到页面标签字典

    CGPDFDictionaryRef catalog = CGPDFDocumentGetCatalog(document);

            if (CGPDFDictionaryGetDictionary(catalog, "PageLabels", &PageLabels) == true)
        {

        }
通过访问页面标签字典,我必须找到页面范围和相应的操作符,才能真正了解标签。i、 e.:“D”代表阿拉伯十进制,“r”代表罗马

有没有办法从CGPDFPageRef直接访问此标签

您试过了吗

返回与指定页码对应的PDF页面,如果文档中不存在此类页面,则返回NULL。页码从1开始编号


然后,您可以在

之后执行任何必要的转换。简短的回答是“否”,您无法从cgpdfageref获得该信息
首先,您必须确定CGPDFPageRef对象的页码(从零开始)。然后搜索页面标签数组并确定页码适合哪个标签。基于页面标签属性(编号样式、起始页码等),您可以构建可视页码(Acrobat显示为罗马数字的页码)

更新:/PageLabels条目是一个字典。它的/Nums项是一个数组,格式为:数字字典数字字典。。。数字字典
数字是文档中的起始页索引(从零开始),字典描述页面标签。从页面索引开始到下一页面索引或文档结尾的所有页面都将使用索引旁边定义的标签。第12.4节描述了页面标签词典。页面标签字典中的/S条目指定编号类型,值/r或/r指定罗马编号类型


由于您提到您的文档指定了/D值(十进制编号),但在Adobe Reader中,您会在页码框中看到罗马数字,请提供PDF文件以供调查。

这并不能回答问题。若要评论或要求作者澄清,请在他们的帖子下方留下评论-你可以随时在自己的帖子上发表评论,一旦你有足够的评论,你就可以发表评论了。它绝对提供了一个@rsenn的答案,可能只是没有你想要的措辞。这只是一个问题形式的回答。我将详细说明。我尝试访问PageLabels字典,其中有一个用于键NUM的数组对象。现在Nums数组有一个值为0(int)的项和一个键为s、值为d的字典。就这样。但是Nums数组中没有定义罗马部分的其他项。是否有方法获取TOC的页码和该pdf的索引页。