使用pdfBox处理PDPageNode时查询

时间:2014-08-01 05:55:55

标签: pdfbox

 document = PDDocument.load(filePath); 
 System.out.println(" pages count = " + document.getNumberOfPages());
 PDDocumentCatalog docCata = new PDDocumentCatalog(document);
 Map<String,Integer> pmap = document.getPageMap();
 System.out.println("count = "+ pmap.size() ); //This prints count = 562        
 pnode =docCata.getPages();
 kidList = pnode.getKids();
 System.out.println("Size of kidList =" + kidList.size());   //this also prints Size of kidList = 0 

//System.out.println("-------size= "+pnode.getRotation()) //throws null pointer exception

您好我尝试使用上面的代码,但是我无法让孩子们使用pnode.getKids。

以上给出了以下输出:

pages count = 562
count = 562
Size of kidList =0

我不明白为什么即使PDF有页面,也没有填充kidList。 请在这方面提供一些帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

很可能你想做

PDDocumentCatalog docCata = document.getDocumentCatalog();

而不是

PDDocumentCatalog docCata = new PDDocumentCatalog(document);

getDocumentCatalog()检索现有文档目录,而new PDDocumentCatalog(document)创建一个没有任何页面的新目录。