iOS版:在PDF页面的检索如何“页码标签”?

问题描述 投票:-1回答:2

我有一个pdf,其中页面1为具有页号为罗马1即“i”的

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

    CGPDFDictionaryRef catalog = CGPDFDocumentGetCatalog(document);

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

        }

通过访问标签页字典我要找到的网页和相应的经营范围其实都知道的标签。即:“d”为阿拉伯语小数,“R”为罗马...

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

ios pdf adobe cgpdfdocument
2个回答
1
投票

简短的回答是否定的,你不能从CGPDFPageRef信息。 首先,你必须确定你的CGPDFPageRef对象的页码(从零开始)。然后你搜索的页面标签阵列,并确定在哪个标签您的页码相符。基于页面标签属性(编号样式,开始页号等),你建立的可视化页面数(作为一个罗马numberal通过Acrobat中显示的页码)。

更新:/ PageLabels项是一本字典。它/订购数量的输入与格式的数组:数数字典词典...号码字典。 数量是在文档中(从零开始)起始页指数,字典描述的页面标签。从页面索引,直到下一个页面索引或文档末尾将使用下面定义的索引标签开始的所有页面。该标签页字典中PDF specification 12.4节。在标签页的字典/ S条目指定的编号和类型的值/ R或/ R指定罗马编号类型。

既然你提到你的文件指定/ d值(十进制编号),但在Adobe Reader您在页码框中看到罗马数字,请提供调查的PDF文件。


1
投票

你试过CGPDFDocumentGetPage

返回对应于指定的页码,或NULL,如果文件中不存在这样的页面PDF页面。网页以1开始编号。

然后,你可以做任何转换后必要

© www.soinside.com 2019 - 2024. All rights reserved.