我正在尝试运行以下代码:
for(Object pn : kidList){
if(pn instanceof PDPageNode)
{
PDPageNode pnode =(PDPageNode) pn;
PDResources pres = pnode.getResources();
Map<String,PDFont> pfont = pres.getFonts();
//For this NullPointerException is thrown
System.out.println("PageNode");
}
else
{
PDPage pg=(PDPage)pn;
PDResources pres = pnode.getResources();
Map<String,PDFont> pfont = pres.getFonts();
// No exception here
System.out.println("Page");
}
}
对于pageNode部分,我得到一个异常
Map<String,PDFont> pfont = pres.getFonts();
//For this NullPointerException is thrown
但是对于PDPage,不会抛出任何异常,并且能够获取字体映射。 我不明白为什么PDPageNode在获取它的字体时会有异常,而从它的子页面中提取字体则没有。