PDFBox - 如何通过页面编号获取页面的页面索引

时间:2018-03-19 16:22:39

标签: java pdf pdfbox

我有一个文件,其中前3页没有标有任何页码(例如前言,目录等)。页码编号从页面索引开始,例如4.如何找到页面编号为1的此页面的索引,因此我知道主要内容从索引4开始(应该是通用的,因为页面编号可以从任何页面索引开始)?

修改:

PDDebugger显示Page: 15 - 1是第一页。所以我需要这个页面的索引,即14。

enter image description here

修改 这是PageLabels树对象:

enter image description here

1 个答案:

答案 0 :(得分:1)

查找具有特定标签的页面的简单代码:

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"));

也可以。