将docx转换为pdf()

时间:2015-12-06 09:13:23

标签: pdf pdf-generation xsl-fo docx4j

几天前,我遇到了将.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的新手,因此无法以正常方式发布许多链接

1 个答案:

答案 0 :(得分:0)

这是一个错误。

探索https://github.com/plutext/docx4j/commit/be730349442923fa2d60e47630417a92405af719

处的修复

另一种可行的方法是使用Plutext的商业PDF转换器。