اسناد MS Word را از قالب Mail Merge در پایتون ایجاد کنید

ادغام نامه MS Word یک ویژگی محبوب است که به شما امکان می دهد نامه، فاکتور، پاکت نامه، گزارش و غیره ایجاد کنید. با استفاده از ادغام نامه، می توانید یک الگو ایجاد کنید و آن را با داده ها پر کنید. در نتیجه، یک سند برای هر ورودی در منبع داده تولید می شود. برای خودکارسازی این ویژگی، این مقاله نحوه انجام ادغام ایمیل MS Word با استفاده از پایتون را پوشش می‌دهد. شما یاد خواهید گرفت که چگونه از ابتدا یک الگوی ادغام ایمیل ایجاد کنید و آن را به صورت برنامه نویسی پر کنید.

کتابخانه Python برای خودکارسازی ادغام ایمیل MS Word

برای خودکارسازی ادغام ایمیل MS Word، از Aspose.Words برای Python استفاده خواهیم کرد. این یک کتابخانه قدرتمند است که به شما امکان می دهد اسناد Word را ایجاد و دستکاری کنید. علاوه بر این، به شما این امکان را می دهد که الگوهای ادغام ایمیل را ایجاد کرده و آنها را یکپارچه پر کنید. Aspose.Words برای Python را می توان از PyPI با استفاده از دستور pip زیر نصب کرد.

pip install aspose-words 

یک قالب Mail Merge در پایتون ایجاد کنید

یک الگوی ادغام نامه حاوی فیلدهای ادغام است که با مقادیر موجود در منبع داده پر شده است. قالب می‌تواند از قالب‌های DOT، DOTX، DOC یا DOCX باشد. به منظور ایجاد یک الگوی ادغام ایمیل، می توانید از MS Word استفاده کنید. با این حال، برای خودکارسازی این رویه در پایتون، می‌توانید مراحل زیر را دنبال کنید.

  • یک شی از کلاس DocumentBuilder ایجاد کنید.
  • درج متن با استفاده از روش DocumentBuilder.inserttextinput()
  • فیلد ادغام را با استفاده از متد ()DocumentBuilder.insertfield وارد کنید.
  • درج متن و ادغام فیلدها را در صورت لزوم تکرار کنید.
  • با استفاده از متد ()DocumentBuilder.document.save قالب را به صورت فایل ذخیره کنید.

نمونه کد زیر نحوه ایجاد یک الگوی ادغام ایمیل DOCX را با استفاده از پایتون نشان می دهد.

import aspose.words as aw

# یک سند ساز ایجاد کنید
builder = aw.DocumentBuilder()

# یک فیلد ورودی متن وارد کنید که نام منحصر به فرد این فیلد "Hello" است، سایر پارامترها را تعریف می کند
# نوع 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")

تصویر زیر اسکرین شات قالبی است که به تازگی با استفاده از نمونه کد بالا ایجاد کرده ایم.

ایجاد یک الگوی ادغام ایمیل در پایتون

با استفاده از الگوی Mail Merge در پایتون، سند Word ایجاد کنید

اکنون زمانی که الگوی ادغام ایمیل را ایجاد کردید، زمان آن رسیده است که فیلدهای آن را با مقادیر پر کنید. مراحل زیر برای تولید یک سند Word از یک الگوی ادغام ایمیل در پایتون است.

  • الگوی ادغام نامه را با استفاده از کلاس 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 را از قالب ادغام ایمیل در پایتون ایجاد کنید

مجوز رایگان دریافت کنید

شما می‌توانید از Aspose.Words برای پایتون بدون محدودیت ارزیابی با دریافت یک [مجوز موقت رایگان] استفاده کنید.

نتیجه

ادغام ایمیل MS Word یک ویژگی مفید برای تولید اسناد Word از قالب های از پیش تعریف شده است. برای خودکارسازی ادغام ایمیل، این مقاله نحوه ایجاد الگوهای ادغام ایمیل و پر کردن آنها با داده ها در پایتون را شرح داد. همچنین می‌توانید سایر ویژگی‌های Aspose.Words برای پایتون را با استفاده از مستندات کاوش کنید. در صورت داشتن هرگونه سوال، در صورت تمایل آنها را به [تالار گفتمان] ما ارسال کنید.

همچنین ببینید