สร้างเอกสาร MS Word จาก Mail Merge Template ใน Python

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

Python Library เพื่อทำให้ MS Word Mail Merge เป็นแบบอัตโนมัติ

ในการทำให้จดหมายเวียนของ MS Word เป็นไปโดยอัตโนมัติ เราจะใช้ Aspose.Words for Python เป็นไลบรารีที่มีประสิทธิภาพซึ่งช่วยให้คุณสร้างและจัดการเอกสาร Word ได้ นอกจากนี้ยังช่วยให้คุณสร้างเทมเพลตจดหมายเวียนและเติมได้อย่างราบรื่น Aspose.Words for Python สามารถติดตั้งได้จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้

pip install aspose-words 

สร้างเทมเพลตจดหมายเวียนใน Python

แม่แบบจดหมายเวียนประกอบด้วยเขตข้อมูลผสานที่มีการเติมค่าในแหล่งข้อมูล เทมเพลตอาจเป็นรูปแบบ DOT, DOTX, DOC หรือ DOCX ในการสร้างเทมเพลตจดหมายเวียน คุณสามารถใช้ MS Word อย่างไรก็ตาม หากต้องการทำให้ขั้นตอนนี้เป็นไปโดยอัตโนมัติใน Python คุณสามารถทำตามขั้นตอนด้านล่าง

  • สร้างวัตถุของคลาส DocumentBuilder
  • แทรกข้อความโดยใช้เมธอด DocumentBuilder.inserttextinput()
  • แทรกฟิลด์ผสานโดยใช้เมธอด DocumentBuilder.insertfield()
  • ทำซ้ำการแทรกข้อความและฟิลด์ผสานตามต้องการ
  • บันทึกเทมเพลตเป็นไฟล์โดยใช้เมธอด DocumentBuilder.document.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างเทมเพลตจดหมายเวียน DOCX โดยใช้ Python

import aspose.words as aw

# สร้างตัวสร้างเอกสาร
builder = aw.DocumentBuilder()

# แทรกฟิลด์ป้อนข้อความ ชื่อเฉพาะของฟิลด์นี้คือ "สวัสดี" ซึ่งพารามิเตอร์อื่นๆ กำหนด
# FormField ประเภทใด รูปแบบของข้อความ ผลลัพธ์ของฟิลด์ และความยาวข้อความสูงสุด (0 = ไม่จำกัด)
builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", "Hello ", 0)
builder.insert_field("MERGEFIELD CustomerFirstName \\* MERGEFORMAT")

builder.insert_text_input("TextInput1", aw.fields.TextFormFieldType.REGULAR, "", " ", 0)
builder.insert_field("MERGEFIELD CustomerLastName \\* MERGEFORMAT")

builder.insert_text_input("TextInput1", aw.fields.TextFormFieldType.REGULAR, "", " , ", 0)

# แทรกตัวแบ่งย่อหน้าลงในเอกสาร
builder.insert_paragraph()

# ใส่เนื้อหาจดหมาย
builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", "Thanks for purchasing our ", 0)
builder.insert_field("MERGEFIELD ProductName \\* MERGEFORMAT")

builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", ", please download your Invoice at ", 0)
builder.insert_field("MERGEFIELD InvoiceURL \\* MERGEFORMAT")

builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", ". If you have any questions please call ", 0)
builder.insert_field("MERGEFIELD Supportphone \\* MERGEFORMAT")

builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", ", or email us at ", 0)
builder.insert_field("MERGEFIELD SupportEmail \\* MERGEFORMAT")

builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", ".", 0)

builder.insert_paragraph()

# แทรกการลงท้ายจดหมาย
builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", "Best regards,", 0)
builder.insert_break(aw.BreakType.LINE_BREAK)
builder.insert_field("MERGEFIELD EmployeeFullname \\* MERGEFORMAT")

builder.insert_text_input("TextInput1", aw.fields.TextFormFieldType.REGULAR, ",", " ", 0)
builder.insert_field("MERGEFIELD EmployeeDepartment \\* MERGEFORMAT")

# บันทึกเทมเพลตเป็นไฟล์ DOCX
builder.document.save("mail_merge_template.docx")

ต่อไปนี้เป็นภาพหน้าจอของเทมเพลตที่เราเพิ่งสร้างขึ้นโดยใช้ตัวอย่างโค้ดด้านบน

การสร้างเทมเพลตจดหมายเวียนในหลาม

สร้างเอกสาร Word โดยใช้ Mail Merge Template ใน Python

เมื่อคุณสร้างเทมเพลตจดหมายเวียนแล้ว ก็ถึงเวลาเติมฟิลด์ด้วยค่าต่างๆ ต่อไปนี้เป็นขั้นตอนในการสร้างเอกสาร Word จากเทมเพลตจดหมายเวียนใน Python

  • โหลดเทมเพลตจดหมายเวียนโดยใช้คลาสเอกสาร
  • เรียกใช้เมธอด Document.mailmerge.execute() และส่งข้อมูลในรูปแบบของอาร์เรย์
  • บันทึกเอกสารที่สร้างขึ้นโดยใช้เมธอด Document.save()

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการสร้างเอกสาร Word จากแม่แบบจดหมายเวียน

import aspose.words as aw

# โหลดเทมเพลตจดหมายเวียน
doc = aw.Document("mail_merge_template.docx")

# กรอกข้อมูลในฟิลด์ในเอกสาร
doc.mail_merge.execute(["CustomerFirstName", "CustomerLastName", "ProductName", "InvoiceURL", "SupportPhone", "SupportEmail", "EmployeeFullname", "EmployeeDepartment"],
    ["John", "Doe", "Aspose.Words", "aspose.com", "111-222-333", "support@aspose.com", "Jimmy", "Sales"]
    )

# บันทึกเอกสาร
doc.save("mail_merge_populated.docx")

ภาพหน้าจอต่อไปนี้แสดงเอกสาร Word ที่เราสร้างขึ้นจากเทมเพลตจดหมายเวียน

สร้างเอกสารคำจากเทมเพลตจดหมายเวียนในหลาม

รับใบอนุญาตฟรี

คุณสามารถใช้ Aspose.Words for Python ได้โดยไม่มีข้อจำกัดในการประเมินโดยรับ ใบอนุญาตชั่วคราวฟรี

บทสรุป

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

ดูสิ่งนี้ด้วย