场景:


文档1具有页脚1
文档2具有页脚2


预期结果应为:

文件3合并了文件1和2,并保留了文件1和2的页脚。

我们如何使用docx4j做到这一点?

我尝试使用以下代码合并两个文档:

WordprocessingMLPackage f = WordprocessingMLPackage.load(first);
WordprocessingMLPackage s= WordprocessingMLPackage.load(second);
    List body1 = s.getMainDocumentPart().getJAXBNodesViaXPath("//w:body", false);
            for (Object b : body1) {
                List filhos = ((org.docx4j.wml.Body) b).getContent();
                for (Object k : filhos)
                    {f.getMainDocumentPart().addObject(k);
                    }
            }


但是结果合并将第一个文档的页脚应用于整个文档,因此第二个文档页脚丢失了。

最佳答案

您需要将相关的页脚添加到文档(addTargetPart),然后从sectPr元素内部引用它。页脚引用通过其相对ID引用页脚部件。

另外,您可以使用我们的商业Docx4j Enterprise,其中包括MergeDocx,用于处理尝试将2个Word文档连接在一起时出现的所有问题。

关于java - 合并具有不同页脚的两个文档docx4j,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58917260/

10-12 20:00
查看更多