gpt4 book ai didi

java - 合并两个具有不同页脚的文档 docx4j

转载 作者:行者123 更新时间:2023-11-30 12:02:06 25 4
gpt4 key购买 nike

场景:

  • 文档 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 元素中引用它。页脚引用通过其 rel id 引用页 footer 分。

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

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com