Mail Mergeแม่แบบ
เป็นเรื่องปกติที่จะใช้เทมเพลตผสานเป็นเอกสารพื้นฐานสำหรับการดำเนินการMail Mergeถ้าเป็นMail MergeหรือMail Merge Mail mergeกับภูมิภาคที่มีประสิทธิภาพมากขึ้นและเป็นที่นิยมกว่าที่เรียบง่ายmail merge. SimpleMail 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, InsertField, และInsertParagraphวิธีการ.
ตัวอย่างรหัสต่อไปนี้แสดงวิธีสร้างเทมเพลตMail Merge:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
public static Document CreateMailMergeTemplate() throws Exception { | |
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.LINE_BREAK); | |
builder.insertField("MERGEFIELD EmployeeFullname \\* MERGEFORMAT"); | |
builder.insertTextInput("TextInput1", TextFormFieldType.REGULAR, "", " ", 0); | |
builder.insertField("MERGEFIELD EmployeeDepartment \\* MERGEFORMAT"); | |
return builder.getDocument(); | |
} |
รูปภาพด้านล่างแสดงเทมเพลตที่สร้างขึ้น:

ปรับแต่งคุณสมบัติของเทมเพลท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-Java | |
public void imageFieldMerging(ImageFieldMergingArgs args) throws Exception { | |
args.setImageFileName("Image.png"); | |
args.setImageWidth(new MergeFieldImageDimension(200, MergeFieldImageDimensionUnit.POINT)); | |
args.setImageHeight(new MergeFieldImageDimension(200, MergeFieldImageDimensionUnit.PERCENT)); | |
} |
ปรับแต่งคุณสมบัติของข้อความ
คุณสามารถใช้คลาส [ข้อความ]https://reference.aspose.com/words/java/com.aspose.words/Fieldmergingargs#Text)คุณสมบัติเพื่อแทรกข้อความลงในเอกสารสำหรับฟิลด์ผสานปัจจุบัน นอกจากนี้คุณสามารถเปลี่ยนการจัดรูปแบบของข้อความและย่อหน้าภายในแม่แบบของคุณ](https://reference.aspose.com/words/java/com.aspose.words/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-Java | |
Document doc = new Document(getMyDir() + "Mail merge destinations - Fax.docx"); | |
// Setup mail merge event handler to do the custom work. | |
doc.getMailMerge().setFieldMergingCallback(new HandleMergeField()); | |
// Trim trailing and leading whitespaces mail merge values. | |
doc.getMailMerge().setTrimWhitespaces(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.getMailMerge().execute(fieldNames, fieldValues); | |
doc.save(getArtifactsDir() + "WorkingWithFields.MailMergeFormFields.docx"); |
คุณสามารถดาวน์โหลดไฟล์ตัวอย่างของตัวอย่างนี้ได้จาก Aspose.Words GitHub.
นอกจากนี้คุณยังสามารถตรวจสอบการดำเนินงานของHandleMergeField
ชั้นจาก Aspose.Words GitHub.
ดูเพิ่มเติม
- สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการสร้างแม่แบบในMicrosoft Wordด้วยตนเอง,โปรดตรวจสอบ สร้างเทมเพลต บทความในเอกสารMicrosoft