当我使用在线版本的.docx创建Office365时,我的程序在调用VariablePrepare.prepare()时崩溃
相关代码行:
InputStream inputStream = new ByteArrayInputStream(docxFileContent);
WordprocessingMLPackage wordprocessingMLPackage = WordprocessingMLPackage.load(inputStream);
VariablePrepare.prepare(wordprocessingMLPackage);堆栈跟踪:
Caused by: java.lang.NullPointerException
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.transform(WordprocessingMLPackage.java:271)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.filter(WordprocessingMLPackage.java:297)
at org.docx4j.model.datastorage.migration.VariablePrepare.prepare(VariablePrepare.java:79)我的文档使用Online Office 365:aAxsueUBl5tMnq/view?usp=sharing创建
请注意,当您检查此文件的属性时,它缺少一些基本内容的值,如页面、字数、字符计数等。参见https://drive.google.com/file/d/1Vvuf2zJvGqigX6SMVu-C6EMsYXu0378I/view?usp=sharing。如果使用桌面版office打开文档,则这些值将突然填充,不再发生崩溃。此问题是针对来自在线Office 365的文档的。
发布于 2018-11-28 00:17:12
现在固定在https://github.com/plutext/docx4j/commit/b877520c0a02804f00b2fce57d56405f045947f0
这段代码假设word/document.xml,这对于您的文档是不正确的。
此修补程序将在docx4j 6.1.0中进行(并在更早的夜间发布)。
https://stackoverflow.com/questions/53505719
复制相似问题