צור מסמכי MS Word מתבנית מיזוג דואר ב-Python

מיזוג דואר של MS Word הוא תכונה פופולרית המאפשרת ליצור מכתבים, חשבוניות, מעטפות, דוחות וכו’. באמצעות מיזוג דואר ניתן ליצור תבנית ולאכלס אותה בנתונים. כתוצאה מכך, נוצר מסמך עבור כל ערך במקור הנתונים. כדי להפוך תכונה זו לאוטומטית, מאמר זה מכסה כיצד לבצע מיזוג דואר של MS Word באמצעות Python. תלמד כיצד ליצור תבנית מיזוג דואר מאפס ולאכלס אותה באופן תכנותי.

ספריית Python לאוטומציה של מיזוג דואר של MS Word

כדי להפוך את מיזוג הדואר של MS Word לאוטומטי, נשתמש ב-Aspose.Words for Python. זוהי ספריה רבת עוצמה המאפשרת לך ליצור ולתפעל מסמכי Word. יתר על כן, זה מאפשר לך ליצור את תבניות מיזוג הדואר ולאכלס אותן בצורה חלקה. ניתן להתקין את Aspose.Words עבור 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")

להלן צילום המסך של התבנית שיצרנו זה עתה באמצעות דוגמת הקוד שלמעלה.

יצירת תבנית מיזוג דואר ב-python

צור מסמך Word באמצעות תבנית מיזוג דואר ב-Python

כעת לאחר שיצרת את תבנית מיזוג הדואר, הגיע הזמן לאכלס את השדות שלה בערכים. להלן השלבים ליצירת מסמך Word מתבנית מיזוג דואר ב- Python.

  • טען את תבנית מיזוג הדואר באמצעות מחלקת Document.
  • קרא לשיטת 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 שיצרנו מתבנית מיזוג הדואר.

צור מסמך Word מתבנית מיזוג דואר ב-python

קבל רישיון חינם

אתה יכול להשתמש ב-Aspose.Words עבור Python ללא מגבלות הערכה על ידי קבלת רישיון זמני ללא תשלום.

סיכום

מיזוג דואר של MS Word הוא תכונה שימושית ליצירת מסמכי Word מתבניות מוגדרות מראש. כדי להפוך את מיזוג הדואר לאוטומטי, מאמר זה סיקר כיצד ליצור תבניות מיזוג דואר ולאכלס אותן בנתונים ב- Python. אתה יכול גם לחקור תכונות אחרות של Aspose.Words for Python באמצעות תיעוד. למקרה שיש לך שאלות כלשהן, אל תהסס לפרסם אותן בפורום שלנו.

ראה גם