You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#&ASP.NET MVC中,Aspose邮件合并如何添加页眉页脚静态信息?

实现静态信息填充到所有页面的页眉页脚

方案思路

由于是全局通用的静态信息,无需与表格行数据关联,可通过普通邮件合并字段配合MailMerge.Execute方法实现,整体分为模板修改和代码调整两部分。

步骤1:修改.docx模板

打开你的邮件合并模板,编辑页眉与页脚:

  • 在页眉需要展示信息的位置插入邮件合并字段,例如:{MERGEFIELD CompanyName}、{MERGEFIELD ContactEmail}(对应2条页眉静态信息)
  • 在页脚对应位置插入:{MERGEFIELD OfficePhone}、{MERGEFIELD CopyrightInfo}(对应2条页脚静态信息)

字段名可自定义,只要和代码中的键名完全匹配即可,建议使用语义化名称便于维护。

步骤2:调整代码填充静态信息

在现有代码中,执行完表格区域的邮件合并后,添加代码填充静态字段。使用Dictionary<string, object>存储静态键值对,再调用MailMerge.Execute方法完成填充:

System.Data.DataTable CondoDataTable = _repoForm.GetProtestCasesTempateCondo(record, guid);
if (CondoDataTable.Rows.Count > 0)
{
    Aspose.Words.Document templateAttachment = new Aspose.Words.Document(PathToTemplateAttachment);
    CondoDataTable.TableName = "Protest";
    templateAttachment.FieldOptions.BarcodeGenerator = new CustomBarcodeGenerator();

    // 执行表格区域的邮件合并
    templateAttachment.MailMerge.ExecuteWithRegions(CondoDataTable);

    // 准备4条静态信息的键值对,键名需与模板中的MERGEFIELD名称完全一致
    var staticHeaderFooterData = new Dictionary<string, object>
    {
        {"CompanyName", "XX置业有限公司"},
        {"ContactEmail", "support@xxcompany.com"},
        {"OfficePhone", "010-XXXXXXX"},
        {"CopyrightInfo", "©2024 XX公司 保留所有权利"}
    };

    // 填充页眉页脚的静态字段
    templateAttachment.MailMerge.Execute(staticHeaderFooterData);

    MemoryStream protestAttachmentMemory = new MemoryStream();
    templateAttachment.Save(protestAttachmentMemory, Aspose.Words.SaveFormat.Pdf);
    docs.Add(protestAttachmentMemory);
}

额外说明

  • 若模板原本无页眉/页脚,也可通过代码动态创建,但更推荐在模板中预先设置好排版格式,避免代码中处理复杂的样式逻辑。
  • 注意MERGEFIELD名称与代码中字典键名的大小写完全匹配,否则无法正常填充。

内容的提问来源于stack exchange,提问作者Jonathan Small

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 10:42:57