我有一个 C# MVC .NET 应用程序,它使用 ASPOSE 执行邮件合并。我在word文档中定义了一个表格,如下所示:
我将表的第一行定义为“重复 Heder 行”,正如您在图中看到的那样,当选择第一个表行中的字段时,布局 -> 数据 -> 重复标题行处于打开状态。
当我运行应用程序并执行邮件合并时,生成的文档如下所示:
如您所见,每个数据集记录的标题信息都是重复的。如何使标题仅在表格开头打印一次?我该如何设置,以便如果数据集中有足够的记录来强制生成其他页面,以便在每个页面的开头生成标题。
这是我用来生成文档的代码:
Aspose.Words.Document masterTemplate = new Aspose.Words.Document(masterFilePath);
masterTemplate.FieldOptions.BarcodeGenerator = new CustomBarcodeGenerator();
masterTemplate.MailMerge.ExecuteWithRegions(dtMasterPetition);
masterTemplate.MailMerge.Execute(new string[] { "County",
"CaptionPetitioner",
"CaptionRespondent",
"Jurisdiction",
"IndexNo",
"TaxYear",
"ReturnDay",
"ReturnMonthYear",
"PetitionDate",
"FirmName",
"RespondentAddress1",
"RespondentAddress2",
"AlsoServeTitle",
"AlsoServeJurisdiction",
"AlsoServeAddress",
"AlsoServeCityStateZip",
"MPQRCode",
"FileAndSuffix",
"Attorney"},
new string[] { MailMergeData.PropCounty,
MailMergeData.CaptionPetitioner,
MailMergeData.CaptionRespondent,
MailMergeData.Jurisdiction,
MailMergeData.IndexNo,
MailMergeData.TaxYear,
MailMergeData.ReturnDay,
MailMergeData.ReturnMonthYear,
MailMergeData.PetitionDate,
MailMergeData.FirmName,
MailMergeData.RespondentAddress1,
MailMergeData.RespondentAddress2,
MailMergeData.AlsoServeTitle,
MailMergeData.AlsoServeJurisdiction,
MailMergeData.AlsoServeAddress,
MailMergeData.AlsoServeCityStateZip,
oMPQRCode.ToString(),
FileAndSuffix,
sAttorney});
MemoryStream masterpetitionMemory = new MemoryStream();
masterTemplate.Save(masterpetitionMemory, Aspose.Words.SaveFormat.Pdf);
docs.Add(masterpetitionMemory);
PdfFileEditor oEditor = new PdfFileEditor();
oEditor.Concatenate(docs.ToArray(), outStream);
outStream.Seek(0, SeekOrigin.Begin);
string GUID = Guid.NewGuid().ToString();
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(outStream);
fileName = fileName + "_" + GUID + ".pdf";
pdfDocument.Save(fileName);
非常感谢任何帮助。
谢谢你。
在您的模板中,整个表格包含在
TableStart/EableEnd
合并字段中,因此数据源中的每条记录都会重复整个表格。为了获得预期的输出,您应该在单独的表中配置标题行,如下所述:
使用 C# 应用程序中的 Aspose 进行 Word 邮件合并和 2 个表格