قم بإنشاء مستندات MS Word من قالب دمج المراسلات في Python

يعد دمج البريد في MS Word ميزة شائعة تتيح لك إنشاء رسائل وفواتير ومغلفات وتقارير وما إلى ذلك. باستخدام دمج البريد ، يمكنك إنشاء قالب وتعبئته بالبيانات. نتيجة لذلك ، يتم إنشاء مستند لكل إدخال في مصدر البيانات. لأتمتة هذه الميزة ، تتناول هذه المقالة كيفية إجراء دمج بريد MS Word باستخدام Python. سوف تتعلم كيفية إنشاء قالب دمج المراسلات من البداية وملئه برمجيًا.

مكتبة Python لأتمتة دمج المراسلات في MS Word

لأتمتة دمج البريد في 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 باستخدام قالب دمج المراسلات في 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 الذي أنشأناه من قالب دمج المراسلات.

إنشاء مستند Word من قالب دمج المراسلات في Python

احصل على رخصة مجانية

يمكنك استخدام Aspose.Words مع Python بدون قيود تقييمية من خلال الحصول على ترخيص مجاني مؤقت.

استنتاج

يعد دمج البريد في MS Word ميزة مفيدة لإنشاء مستندات Word من قوالب محددة مسبقًا. لأتمتة دمج البريد ، غطت هذه المقالة كيفية إنشاء قوالب دمج البريد وتعبئتها بالبيانات في Python. يمكنك أيضًا استكشاف ميزات أخرى لـ Aspose.Words for Python باستخدام التوثيق. إذا كان لديك أي أسئلة ، فلا تتردد في إرسالها إلى المنتدى.

أنظر أيضا