几天前,我遇到了将.docx文件作为模板处理并将值放入占位符的遗留代码。在将复杂表格插入模板之前,此系统正常工作。我找不到重拍表以外的解决方案。也许有人知道XSLFO.Conversion中的技巧或某些设置有助于解决这个问题。这是在我的问题上重复行为的简单代码
public class App {
public static void main(String[] args) {
System.out.println("Hello World!");
}
private static WordprocessingMLPackage wordComplex;
static {
try {
wordComplex = WordprocessingMLPackage.load(App.class.getResourceAsStream("complexTable.docx"));
Conversion c = new Conversion(wordComplex);
c.output((new FileOutputStream(System.getProperty("user.dir")+"/table.pdf")), new PdfSettings());
} catch (Throwable e) {
e.printStackTrace();
}
}
}
这是一个简单的.docx示例complexTable.docx
转换后,pdf文档只会忽略第一个表并且只包含第二个表
这是结果.pdf文件table.pdf
有人知道解决方法吗?
P.S。对不起我的英语不好。我希望我的帖子清楚地表明我的问题。 而且我是Stackoverflow的新手,因此无法以正常方式发布许多链接
答案 0 :(得分:0)
这是一个错误。
探索https://github.com/plutext/docx4j/commit/be730349442923fa2d60e47630417a92405af719
处的修复另一种可行的方法是使用Plutext的商业PDF转换器。