Java 如何找到要跳转到的页面。我使用PDFBox 2.0.0和PDActionGoTo

Java 如何找到要跳转到的页面。我使用PDFBox 2.0.0和PDActionGoTo,java,pdfbox,Java,Pdfbox,我使用PDFBOX2.0,在pdf文件中找到所有内部链接。但是我不知道如何找到要跳转到的页面?我在第20页有一个内部链接“第1章”,这是我使用的文件 publicstaticvoidmain(字符串[]args)引发IOException{ PDDocument=null; doc=PDDocument.load(新文件(“D:\\demoConverter\\input\\jQuery\u Cookbook.pdf”); int pageNum=0; doc.getNumberOfPages(

我使用PDFBOX2.0,在pdf文件中找到所有内部链接。但是我不知道如何找到要跳转到的页面?我在第20页有一个内部链接“第1章”,这是我使用的文件

publicstaticvoidmain(字符串[]args)引发IOException{
PDDocument=null;
doc=PDDocument.load(新文件(“D:\\demoConverter\\input\\jQuery\u Cookbook.pdf”);
int pageNum=0;
doc.getNumberOfPages();
对于(PDPage页面:doc.getPages()){
pageNum++;
列表注释=page.getAnnotations();
用于(PDAnnotation注释:注释){
if(PDAnnotationLink的注释实例){
PDAnnotationLink=(PDAnnotationLink)annot;
PDAction action=link.getAction();
if(PDActionURI的操作实例){
PDActionURI=(PDActionURI)操作;
}
//内部链接
if(PDActionGoTo的操作实例){
PDDestination=((PDActionGoTo)action.getDestination();
//如何获取要跳转到的页面
}
} 
}
}

此类目的地可以是页面目的地,也可以是命名目的地。页面目的地很简单,命名目的地需要在名称表中查找

if (action instanceof PDActionGoTo) 
{
     PDPageDestination pageDestination = null;
     PDPage page = null;
     PDDestination destination = ((PDActionGoTo)action).getDestination();
     if (destination instanceof PDPageDestination)
     {
         pageDestination = (PDPageDestination) destination;
         page = pageDestination.getPage();
     }
     else if (destination instanceof PDNamedDestination)
     {
         pageDestination = doc.getDocumentCatalog().findNamedDestinationPage((PDNamedDestination) destination);
         if (pageDestination == null)
         {
             return null;
         }
         page = pageDestination.getPage();
     }
     else
     {
         // error handling
     }
}
if (action instanceof PDActionGoTo) 
{
     PDPageDestination pageDestination = null;
     PDPage page = null;
     PDDestination destination = ((PDActionGoTo)action).getDestination();
     if (destination instanceof PDPageDestination)
     {
         pageDestination = (PDPageDestination) destination;
         page = pageDestination.getPage();
     }
     else if (destination instanceof PDNamedDestination)
     {
         pageDestination = doc.getDocumentCatalog().findNamedDestinationPage((PDNamedDestination) destination);
         if (pageDestination == null)
         {
             return null;
         }
         page = pageDestination.getPage();
     }
     else
     {
         // error handling
     }
}