Mail Mergeแม่แบบ

เป็นเรื่องปกติที่จะใช้เทมเพลตผสานเป็นเอกสารพื้นฐานสำหรับการดำเนินการMail Mergeถ้าเป็นMail MergeหรือMail Merge Mail mergeกับภูมิภาคที่มีประสิทธิภาพมากขึ้นและเป็นที่นิยมกว่าที่เรียบง่ายmail merge. ง่ายMail Mergeถือเป็นกรณีเฉพาะของMail Mergeกับภูมิภาคที่พื้นที่เป็นเอกสารทั้งหมด ทั้งหมดจะอธิบายไว้ในบทความถัดไป"ประเภทของการดำเนินการMail Merge"ในรายละเอียดเพิ่มเติม.

เทมเพลตช่วยให้มั่นใจได้ว่าข้อความในเอกสารที่ผสานเอาต์พุตถูกจัดรูปแบบอย่างถูกต้องและการดำเนินการMail Mergeจะรับประกันได้ว่าข้อความจากแหล่งข้อมูลจะถูกป้อนลงในเทมเพลตผสานอย่างถูกต้อง.

Aspose.Wordsให้ความสามารถในการสร้างMail Mergeเทมเพลตเพื่อกำหนดเนื้อหาคงที่และจากนั้นสร้างเอกสารผสานเอกสารโดยใช้ฟิลด์ผสาน ดังนั้นแม่แบบผสานจะมีข้อความที่จำเป็นซึ่งเป็นเหมือนกันในทุกเอกสารที่ส่งออกและเขตข้ ข้อมูลจากแหล่งข้อมูลที่ระบุจะถูกเพิ่มลงในเทมเพลตผสานผ่านฟิลด์เหล่านี้ในระหว่างการ.

เทมเพลตMail Mergeคืออะไร

แม่แบบMail Mergeเป็นเอกสารส่วนบุคคลที่มีข้อมูลคงที่และฟิลด์ที่ผสานที่คุณต้องการให้ข้อความตัวแป แม่แบบผสานสามารถอยู่ในรูปแบบใดๆที่สนับสนุนฟิลด์เช่น, DOC, DOCX, DOT, DOTX, RTF. นอกจากนี้คุณยังสามารถใช้mustacheแม่แบบที่อธิบายไว้ในบทความ"Mustacheไวยากรณ์แม่แบบ"ในรายละเอียดเพิ่มเติม.

คุณสามารถสร้างเทมเพลตผสานให้เป็นแบบจำลองสำหรับเอกสารใหม่และควรมีข้อความห การเพิ่มฟิลด์ผสานภายในเทมเพลตจะแสดงข้อมูลการกำหนดค่าส่วนบุคคลเช่นชื่อหรือที่อยู่ การดำเนินการMail Mergeจะแทรกข้อมูลส่วนบุคคลจากแหล่งข้อมูลของคุณโดยอัตโนมัติไปยังเอกสารแม่แบบผสาน.

นอกจากนี้คุณสามารถเพิ่มพื้นที่Mail Mergeในเทมเพลตของคุณโดยการใส่ฟิลด์สองฟิลด์Mail Mergeเพื่อทำเครื่องหมายจุดเริ่มต้นและจุดสิ้นสุดของพื้นที่จดหมาย บทความถัดไป"ประเภทของการดำเนินการMail Merge"อธิบายว่าในรายละเอียดเพิ่มเติม.

สร้างเทมเพลตMail Merge

คุณสามารถสร้างเทมเพลตและเพิ่มฟิลด์ผสานเฉพาะให้กับเทมเพลตซึ่งจะถูกแทนที่ด้วยค่าจากแหล่งข้อมูลด้วยตนเองเช่นใช้Microsoft Wordหรือโดยโปรแกรมโดยใช้Aspose.Words ในบทความนี้เราจะดูที่วิธีการเขียนโปรแกรมของการสร้างแม่แบบ.

ใช้คลาสของDocumentBuilderเพื่อสร้างเทมเพลตผสานที่จำเป็นโดยใช้Aspose.Words คุณสามารถรวมข้อความฟิลด์ผสานและการแบ่งบรรทัดในแม่แบบดังกล่าวโดยใช้วิธีการInsertTextInput,InsetFieldและInsertParagraph.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีสร้างเทมเพลตMail Merge:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
DocumentBuilder builder = new DocumentBuilder();
// Insert a text input field the unique name of this field is "Hello", the other parameters define
// what type of FormField it is, the format of the text, the field result and the maximum text length (0 = no limit)
builder.InsertTextInput("TextInput", TextFormFieldType.Regular, "", "Hello", 0);
builder.InsertField(@"MERGEFIELD CustomerFirstName \* MERGEFORMAT");
builder.InsertTextInput("TextInput1", TextFormFieldType.Regular, "", " ", 0);
builder.InsertField(@"MERGEFIELD CustomerLastName \* MERGEFORMAT");
builder.InsertTextInput("TextInput1", TextFormFieldType.Regular, "", " , ", 0);
// Inserts a paragraph break into the document
builder.InsertParagraph();
// Insert mail body
builder.InsertTextInput("TextInput", TextFormFieldType.Regular, "", "Thanks for purchasing our ", 0);
builder.InsertField(@"MERGEFIELD ProductName \* MERGEFORMAT");
builder.InsertTextInput("TextInput", TextFormFieldType.Regular, "", ", please download your Invoice at ",
0);
builder.InsertField(@"MERGEFIELD InvoiceURL \* MERGEFORMAT");
builder.InsertTextInput("TextInput", TextFormFieldType.Regular, "",
". If you have any questions please call ", 0);
builder.InsertField(@"MERGEFIELD Supportphone \* MERGEFORMAT");
builder.InsertTextInput("TextInput", TextFormFieldType.Regular, "", ", or email us at ", 0);
builder.InsertField(@"MERGEFIELD SupportEmail \* MERGEFORMAT");
builder.InsertTextInput("TextInput", TextFormFieldType.Regular, "", ".", 0);
builder.InsertParagraph();
// Insert mail ending
builder.InsertTextInput("TextInput", TextFormFieldType.Regular, "", "Best regards,", 0);
builder.InsertBreak(BreakType.LineBreak);
builder.InsertField(@"MERGEFIELD EmployeeFullname \* MERGEFORMAT");
builder.InsertTextInput("TextInput1", TextFormFieldType.Regular, "", " ", 0);
builder.InsertField(@"MERGEFIELD EmployeeDepartment \* MERGEFORMAT");
return builder.Document;

รูปภาพด้านล่างแสดงเทมเพลตที่สร้างขึ้น:

mail_merge_template

ปรับแต่งคุณสมบัติของเทมเพลทMail Merge

Aspose.Wordsช่วยให้คุณสามารถปรับแต่งแม่แบบของคุณผ่านคุณสมบัติมากมาย. การปรับแต่งแม่แบบจะอธิบายไว้ด้านล่างผ่านตัวอย่างของการปรับแต่งคุณสมบัติบางอย่า.

ปรับแต่งคุณสมบัติของภาพ

คุณสามารถระบุคุณสมบัติของรูปภาพโดยใช้คลาสของImageFieldMergingArgs โปรดทราบว่าคุณสามารถแทรกรูปภาพจากฐานข้อมูลตามที่อธิบายไว้ใน Aspose.Words GitHub.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการระบุชื่อไฟล์ภาพและขนาดภาพ:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
void IFieldMergingCallback.ImageFieldMerging(ImageFieldMergingArgs args)
{
args.ImageFileName = "Image.png";
args.ImageWidth.Value = 200;
args.ImageHeight = new MergeFieldImageDimension(200, MergeFieldImageDimensionUnit.Percent);
}

ปรับแต่งคุณสมบัติของข้อความ

คุณสามารถใช้คุณสมบัติ Text เพื่อแทรกข้อความลงในเอกสารสำหรับฟิลด์ผสานปัจจุบันได้ นอกจากนี้ คุณยังสามารถเปลี่ยนการจัดรูปแบบของข้อความและย่อหน้าภายในเทมเพลตของคุณได้โดยใช้คลาส Font และ ParagraphFormat คุณสามารถจัดการข้อความที่จะแทรกก่อนหรือหลังฟิลด์ผสานได้โดยใช้คุณสมบัติ TextBefore และ TextAfter ที่รวมอยู่ในคลาส FieldMergeField.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกกล่องกาเครื่องหมายหรือHTMLระหว่างการดำเนินการMail Merge:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Mail merge destinations - Fax.docx");
// Setup mail merge event handler to do the custom work.
doc.MailMerge.FieldMergingCallback = new HandleMergeField();
// Trim trailing and leading whitespaces mail merge values.
doc.MailMerge.TrimWhitespaces = false;
string[] fieldNames = {
"RecipientName", "SenderName", "FaxNumber", "PhoneNumber",
"Subject", "Body", "Urgent", "ForReview", "PleaseComment"
};
object[] fieldValues = {
"Josh", "Jenny", "123456789", "", "Hello",
"<b>HTML Body Test message 1</b>", true, false, true
};
doc.MailMerge.Execute(fieldNames, fieldValues);
doc.Save(ArtifactsDir + "WorkingWithFields.MailMergeFormFields.docx");

ดูเพิ่มเติม

  • สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการสร้างแม่แบบในMicrosoft Wordด้วยตนเอง,โปรดตรวจสอบ สร้างเทมเพลต บทความในเอกสารMicrosoft