Java 如何使用ApachePDFBox获取PDF大纲指向的位置

Java 如何使用ApachePDFBox获取PDF大纲指向的位置,java,pdf,groovy,pdfbox,Java,Pdf,Groovy,Pdfbox,对于groovy脚本,我想使用ApachePDFBox获得PDF大纲所指向的位置 这个Groovy脚本用于获取注释并将它们分隔为大纲,但是当有多个大纲指向同一页时,我不知道注释属于哪个大纲。当我得到注释时,我有四个点,他们给了我在页面中的Y轴位置,我想得到一些与轮廓点位置相似的东西 对于注释,我使用COSArray quadsArray=(COSArray)current.getCOSObject().getCOSArray(COSName.QUADPOINTS)以获取页面中的位置,但对于大纲,

对于groovy脚本,我想使用ApachePDFBox获得PDF大纲所指向的位置

这个Groovy脚本用于获取注释并将它们分隔为大纲,但是当有多个大纲指向同一页时,我不知道注释属于哪个大纲。当我得到注释时,我有四个点,他们给了我在页面中的Y轴位置,我想得到一些与轮廓点位置相似的东西

对于注释,我使用
COSArray quadsArray=(COSArray)current.getCOSObject().getCOSArray(COSName.QUADPOINTS)
以获取页面中的位置,但对于大纲,我获取null

publicGetBookmarkItem(pOutlineNode书签、整数缩进、书签数组、thisDoc){
整数页=0
PDOutlineItem current=bookmark.getFirstChild();
压痕+=1;
while(当前!=null){
def bookmarksMap=[页面:目标页面,级别:0,标题:'',页面位置:0]
def destPageObj=当前.findDestinationPage(thisDoc);
def计数=0
对于(PDPage pdfpage:thisDoc.getPages()){
计数+=1;
if(pdfpage==destPageObj){
destPage=计数;
打破
}
}
COSArray quadsArray=(COSArray)current.getCOSObject().getCOSArray(COSName.QUADPOINTS);
println quadsArray.toString()
bookmarksMap.page=destPage;
书签映射级别=缩进;
bookmarksMap.title=current.getTitle();

书签Ray大纲没有四点,或者我遗漏了什么?我从某些注释中知道四点。谢谢你,我认为大纲有四点。但是,它们有一些类似的东西,我如何在页面中获得大纲位置?我需要知道注释属于哪个大纲。如果你仍然对此感兴趣,你可以你应该考虑你的评论中的问题,只是更详细地说。我错过了4月13日的评论。大纲和注释是不同的东西。大纲没有位置,但是他们可以指向他们的行动或目的地的页面和位置。参见源代码Co的<代码> PrtBooBooj.java < /Cult>示例。取消下载。我更改了标题和说明以使其更清晰,谢谢您的建议。