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
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"); |
คุณสามารถดาวน์โหลดไฟล์ตัวอย่างของตัวอย่างนี้ได้จาก Aspose.Words GitHub.
นอกจากนี้คุณยังสามารถตรวจสอบการดำเนินงานของHandleMergeField
ชั้นจาก Aspose.Words GitHub.
ดูเพิ่มเติม
- สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการสร้างแม่แบบในMicrosoft Wordด้วยตนเอง,โปรดตรวจสอบ สร้างเทมเพลต บทความในเอกสารMicrosoft