我在使用 docx4j 将 docx 文档导出到 html 时遇到问题。我的应用程序从几个文档中剪切出段落,然后将其连接成一个,然后将其导出为 html。
问题出在列表上。生成的 docx 打开并且我想要的内容在那里(尽管它指出文档有错误,而不是项目符号列表,而是有一个编号),但是在 html 导出期间我收到以下错误消息:
错误 org.docx4j.model.PropertyResolver .getEffectivePPr 第 635 行- 找不到样式:ListParagraph
我已经列出了已知的样式,还检查了 StyleTree,ListParagraph 就在那里。
如果我创建一个新的 PStyle 并将其分配给有问题的段落,错误就消失了,但列表格式也是如此。它变成了一个没有项目符号的简单段落(应该如此)。如果我尝试指定除“Normal”之外的任何其他样式,我会收到相同的错误,但错误消息中只有其他样式名称。
if (paragraphProp.getPStyle().getVal().equals("ListParagraph")) {
listElements.add(paragraph);
另一个奇怪的事情是,我可以找到基于这种风格的段落,但分配相同的风格会得到错误......意思是,上面的“如果”正在工作,段落被添加到列表中,但这会导致提到的错误上面(我尝试过单独编写列表段落,所以这不是问题):
PStyle style = new PStyle();
style.setVal("ListParagraph");
paragraphProp.setPStyle(style);
我还注意到,生成的 html 中的段落只有 Normal 和 DocDefaults 类名。
非常感谢您!