我正在评估docxfactory api,它具有很好的功能。我试图添加页眉和页脚到docx模板,它工作正常。但是,我希望每个页面都有不同的页眉和页脚。例如,我需要在每个客户的页脚部分的标题和客户地址中显示客户名称。页面正文将包含其他客户订单。每个客户都必须在新页面中启动。我尝试了以下示例,但所有客户的标题都相同。标题没有变化。我尝试在文档中添加分节符,但它没有用。我搜索了docx工厂论坛,但找不到它。不确定这是不是正确的地方。
public class Dp1 {
public static void main(String argv[]) {
docpaging();
}
public static void docpaging() {
String inputFile = "D:\\fields.docx";
String compileFile = "D:\\fields.dfw";
String outputFile = "D:\\fields_output.docx";
try {
WordProcessingCompiler.compile(inputFile, compileFile);
long startTime = System.currentTimeMillis();
WordProcessingMerger.load(compileFile);
for (int j = 0; j < 3; j++) {
WordProcessingMerger.setClipboardValue("_Header", "PrintDate", (double) j);
WordProcessingMerger.paste("Account");
for (int i = 0; i < 3; i++) {
WordProcessingMerger.setClipboardValue("Line", "LineDate", new Date());
WordProcessingMerger.setClipboardValue("Line", "LineAmt", (double) i);
WordProcessingMerger.setClipboardValue("Line", "LineDesc", "Desc" + i);
WordProcessingMerger.paste("Line");
}
}
WordProcessingMerger.save(outputFile);
System.out.println("Completed (in " + (double) (System.currentTimeMillis() - startTime) / 1000 + " seconds).");
openFile(outputFile, false);
} catch (Throwable e) {
System.err.println(e);
}
}
}
我无法附加docx示例。它可以从docxfactory.com下载。模板截图如下。我试图用不同的值替换标题中的占位符PrintDate,但它始终显示第一个值。甚至,我尝试在文档中添加分页符,但它没有用。
答案 0 :(得分:0)
目前,docxfactory的工作方式是,如果粘贴了不同的部分,它会创建一个新的部分(具有不同的页眉和页脚)。这是唯一一个会迫使新部门出现的情况。
可以做的是,如果_header或_footer中的字段被更改,它将强制新的部分,以便反映这些更改。这实际上是一个很小的变化。你被鼓励在github上做自己的改变或者等我这样做:)如果这是一个紧急情况,请随时直接与我联系。
目前,您可以将详细信息放在页面的顶部和底部,而不是使用部分页眉和页脚吗?查看扩展为填充页面的页面的分页章节。
请加入github上的项目。
btw新单词和excel版本即将推出,有很多新功能。
披露,我写了这个项目。
爱, ALON