aspose 邮件合并布局不遵循 word 模板

aspose mail merge layout not follow word template

我用aspose word,创建数据表,添加列,然后用word模板进行邮件合并。但是我发现在输出中,列宽与单词模板有很大不同(例如最后一列“最后一个工作日”),为什么?

代码如下:

DataTable tableOrders = new DataTable("Orders");
tableOrders.getColumns().add("rank");
tableOrders.getColumns().add("staffNo");
tableOrders.getColumns().add("name");
tableOrders.getColumns().add("idNo");
tableOrders.getColumns().add("nature");
tableOrders.getColumns().add("effDate");
tableOrders.getColumns().add("b4effDate");
while(i.hasNext()) {
    Object[] rs = (Object[]) i.next();
    String rank = rs[0]==null?"":rs[0].toString();
    String staffNo = rs[1]==null?"":rs[1].toString();
    String name = rs[2]==null?"":rs[2].toString();
    String id_no = rs[3]==null?"":rs[3].toString();
    String nature = rs[4]==null?"":rs[4].toString();
    String effDate = rs[5]==null?"":(new SimpleDateFormat("yyyy-MM-dd")).format(rs[5]);
    String lastDutyDate = rs[6]==null?"":(new SimpleDateFormat("yyyy-MM-dd")).format(rs[6]);
    // Create the orders table.
    tableOrders.getRows().add(rank, staffNo, name, id_no, nature, effDate, lastDutyDate);
}
doc.getMailMerge().executeWithRegions(tableOrders);
doc.getMailMerge().execute(new String[] {"currentDate"}, new String[] {sdf2.format(new Date())});

据我所知,您正在将输出文档另存为 PDF。出现此问题的原因可能是您的 table 布局构建不当。但是如果没有你的真实文件很难说。您可以 post 您的问题并在 Aspose.Words support forum.

中附上您的文件

此外,您可以尝试配置模板以使用 Fixed Column Width

最有可能的是,在您的模板中,自动调整行为设置为 AutoFit to Contents,并且在执行邮件合并后,列宽会根据数据进行调整。