Java DOCX4J:空指针异常
我使用WordprocessingMLPackage.createPackage()方法创建了一个新的文档文件。 现在,我试图操纵默认样式(“标题1”、“正常”等)的内容。 当我试图打印出样式属性的值时,它返回NullPointerException。我很确定这些样式在那里,因为名字可以打印出来。但当我试图访问它的段落属性时,它是空的 所以现在我想知道我是否没有正确地访问内容Java DOCX4J:空指针异常,java,docx4j,Java,Docx4j,我使用WordprocessingMLPackage.createPackage()方法创建了一个新的文档文件。 现在,我试图操纵默认样式(“标题1”、“正常”等)的内容。 当我试图打印出样式属性的值时,它返回NullPointerException。我很确定这些样式在那里,因为名字可以打印出来。但当我试图访问它的段落属性时,它是空的 所以现在我想知道我是否没有正确地访问内容 private static void createStyleFile() throws InvalidFormatEx
private static void createStyleFile() throws InvalidFormatException
{
WordprocessingMLPackage doc = WordprocessingMLPackage.createPackage();
List<Style> styleList = doc.getMainDocumentPart().getStyleDefinitionsPart().getJaxbElement().getStyle();
for(int x = 0; x < styleList.size(); x++)
{
Style curStyle = styleList.get(x);
//C.out(curStyle.getStyleId());
C.out(curStyle.getName().getVal());
curStyle.getPPr().getInd().getFirstLine().intValue();
}
}
private static void createStyleFile()引发InvalidFormatException
{
WordprocessingMLPackage doc=WordprocessingMLPackage.createPackage();
List styleList=doc.getMainDocumentPart().getStyleDefinitionsPart().getJaxbElement().getStyle();
对于(int x=0;x
样式可以是段落、字符、表格或列表样式
字符样式没有PPr组件,因此必须在样式类型上进行分支,或者测试getPPr是否返回null
如果PPr不为null,则getInd()可能返回null,因此您也需要在那里检查null
我建议您保存docx,解压缩它,并查看styles.xml以更好地了解其中的内容