PDFBox - 如何通过页码获取页面的页面索引
PDFBox - How to get the page index of a page by it's page-number
我有一份文档,其中前 3 页没有标记任何页码(例如前言、table-of-contents 等)。页码从 page-index 开始,例如4. 如何找到页码为 1 的页面的索引,以便知道主要内容从索引 4 开始(应该是通用的,因为页码可以从任何页索引开始)?
编辑:
PDDebugger 显示 Page: 15 - 1
是第一页。所以我需要这个页面的索引,它是 14。
编辑:
这是 PageLabels 树对象:
查找具有特定标签的页面的简单代码:
PDPageLabels pageLabels = document.getDocumentCatalog().getPageLabels();
String[] labels = pageLabels.getLabelsByPageIndices();
for (int i = 0; i < labels.length; ++i)
{
if ("1".equals(labels[i]))
{
System.out.println("found: " + i);
break;
}
}
正如 OP 所指出的,
System.out.println(pageLabels.getPageIndicesByLabels().get("1"));
同样有效。
我有一份文档,其中前 3 页没有标记任何页码(例如前言、table-of-contents 等)。页码从 page-index 开始,例如4. 如何找到页码为 1 的页面的索引,以便知道主要内容从索引 4 开始(应该是通用的,因为页码可以从任何页索引开始)?
编辑:
PDDebugger 显示 Page: 15 - 1
是第一页。所以我需要这个页面的索引,它是 14。
编辑: 这是 PageLabels 树对象:
查找具有特定标签的页面的简单代码:
PDPageLabels pageLabels = document.getDocumentCatalog().getPageLabels();
String[] labels = pageLabels.getLabelsByPageIndices();
for (int i = 0; i < labels.length; ++i)
{
if ("1".equals(labels[i]))
{
System.out.println("found: " + i);
break;
}
}
正如 OP 所指出的,
System.out.println(pageLabels.getPageIndicesByLabels().get("1"));
同样有效。