Когда я создаю .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: https://drive.google.com/file/d/1MGZpsKZokmw6nyLbt_aAxsueUBl5tMnq/view?usp=sharing
Обратите внимание, что при проверке свойств этого файла пропускаются значения для базовых элементов, таких как страницы, количество слов, символПодсчет и т. Д. См. https://drive.google.com/file/d/1Vvuf2zJvGqigX6SMVu-C6EMsYXu0378I/view?usp=sharing.Если вы открываете документ в версии Office для настольного компьютера, эти значения внезапно заполняются, и сбой больше не происходит.Эта проблема относится только к документам, полученным из Online Office 365.