ขั้นสูงMail Mergeคุณสมบัติ

Aspose.Wordsให้คุณสมบัติและวิธีการเพิ่มเติม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ที่คุณสามารถใช้ได้.

ใช้ฟิลด์ถัดไปที่จะผสานระเบียนข้อมูลในเอกสารปัจจุบัน

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

ใช้ฟิลด์NextIfและSkipIfเพื่อเปรียบเทียบสองนิพจน์

คุณสามารถใช้ฟิลด์NextIfหรือฟิลด์SkipIfถ้าคุณต้องการเปรียบเทียบสองนิพจน์(rightและleftนิพจน์)โดยบางoperator.

NextIf

Field Name Comparison Result “True” Comparison Result “False”
NextIf Aspose.Wordsจะผสานการบันทึกข้อมูลถัดไปลงในเอกสารผสานปัจจุบันและฟิลด์ผสานทั้งหมดในแม่แบบที่อยู่หลังฟิลด์NextIfจะถูกแทนที่ด้วยค่าจากระเบียนข้อมูลถัดไปแทนที่จะเป็นระเบียนข้อมูลปัจจุบัน. Aspose.Wordsจะรวมบันทึกข้อมูลถัดไปลงในเอกสารผสานใหม่.
SkipIf Aspose.Wordsจะยกเลิกเอกสารผสานปัจจุบันย้ายไปยังบันทึกข้อมูลถัดไปในแหล่งข้อมูลและเริ่มต้นเอกสารผสานใหม่. Aspose.Wordsจะดำเนินการต่อเอกสารผสานปัจจุบัน.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการเปรียบเทียบนิพจน์สองนิพจน์กับNextIfหรือSkipIf:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// Use NextIf field
FieldNextIf fieldNextIf = (FieldNextIf)builder.insertField(FieldType.FIELD_NEXT_IF, true);
// Or use SkipIf field
FieldSkipIf fieldSkipIf = (FieldSkipIf)builder.insertField(FieldType.FIELD_SKIP_IF, true);
// Compare two expressions
fieldNextIf.setLeftExpression("3");
fieldNextIf.setRightExpression("1 + 2");
fieldNextIf.setComparisonOperator("=");

รับข้อมูลเกี่ยวกับโครงสร้างแม่แบบ

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

รับชื่อฟิลด์ผสาน

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

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการรับชื่อของเขตข้อมูลผสานทั้งหมดในเทมเพลต:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document();
String[] fieldNames = doc.getMailMerge().getFieldNames();

รับข้อมูลเกี่ยวกับภูมิภาคผสาน

คุณอาจมีสถานการณ์สมมติซึ่งคุณต้องการทำความเข้าใจวิธีการจัดโครงสร้างเทมเพลตขอ คุณสามารถใช้วิธีการบางอย่างเพื่อรวบรวมข้อมูลที่จำเป็นทั้งหมดเกี่ยวกับพื้นที่ผสานหรือเพื่อรับลำดับชั้นของพื้นที่ผสานในเทมเพลตของคุณเช่นวิธีการGetRegionsHierarchy คุณสามารถใช้คุณสมบัติและวิธีการของMailMergeRegionInfoคลาสตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับลำดับชั้นของพื้นที่ผสาน:

Java

MailMergeRegionInfo regionInfo = doc.getMailMerge().getRegionsHierarchy();

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับพื้นที่ผสานเฉพาะภายในเทมเพลตของคุณตามชื่อ:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Mail merge regions.docx");
List<MailMergeRegionInfo> regions = doc.getMailMerge().getRegionsByName("Region1");
for (MailMergeRegionInfo region : regions)
System.out.println(region.getName());
regions = doc.getMailMerge().getRegionsByName("Region2");
for (MailMergeRegionInfo region : regions)
System.out.println(region.getName());
regions = doc.getMailMerge().getRegionsByName("NestedRegion1");
for (MailMergeRegionInfo region : regions)
System.out.println(region.getName());

เพิ่มเขตข้อมูลที่แมป

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

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการเพิ่มฟิลด์ที่แม็พโดยใช้วิธีการAddเมื่อฟิลด์ผสานในเทมเพลตแ:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document();
// Shows how to add a mapping when a merge field in a document and a data field in a data source have different names.
doc.getMailMerge().getMappedDataFields().add("MyFieldName_InDocument", "MyFieldName_InDataSource");