پایتون سند ورد را از قالب تولید می کند

آیا به دنبال راهی برای ایجاد اسناد Word از قالب ها هستید؟ شما جای درست آمده اید! در این پست وبلاگ، بهترین راه حل برای تولید اسناد Word از قالب ها با استفاده از انواع مختلف منابع داده در پایتون را بررسی خواهیم کرد. بیاموزید که چگونه از الگوهای از پیش تعریف شده برای تولید اسناد Word در قالب DOCX با پر کردن متغیرهایی با استفاده از منابع داده مختلف، مانند XML، JSON یا CSV استفاده کنید.

این مقاله موضوعات زیر را پوشش می دهد:

  1. کتابخانه پایتون برای تولید اسناد ورد از قالب ها
  2. ایجاد اسناد Word از الگو با استفاده از داده های XML
  3. ایجاد اسناد Word از الگو با استفاده از داده های JSON
  4. ایجاد اسناد Word با داده های CSV در پایتون
  5. موتور گزارش Python LINQ
  6. منابع رایگان

کتابخانه پایتون برای تولید اسناد Word از قالب ها

ما از LINQ Reporting Engine Aspose.Words for the Python API برای تولید اسناد Word از الگوها استفاده خواهیم کرد. این موتور از برچسب های مختلف برای متن، تصاویر، لیست ها، جداول، لینک ها و نشانک ها پشتیبانی می کند. ما اسناد Word را که دارای این برچسب ها هستند پر می کنیم و آنها را با داده هایی از منابع داده XML، JSON یا CSV پر می کنیم. بنابراین بیایید شروع به تولید اسناد Word از قالب ها با استفاده از پایتون کنیم.

نصب Aspose.Words برای پایتون

با استفاده از دستور pip زیر در کنسول، می‌توانید بسته را دانلود کنید یا API را از PyPI نصب کنید:

> pip install aspose-words

با استفاده از داده های XML در پایتون، اسناد Word را از قالب ایجاد کنید

برای تولید سند Word از یک الگو با استفاده از منبع داده XML، به یک فایل الگو و داده منبع XML نیاز داریم. ما یک سند Word (DOC/DOCX) با متغیرهای زیر به عنوان محتوای سند الگو ایجاد خواهیم کرد:

Name: <<[Name]>>, Age: <<[Age]>>, Date of Birth:
<<[Birth]:"dd.MM.yyyy">>

Children:
<<foreach [in Child]>><<[Child_Text]>>
<</foreach>>"""

در اینجا منبع داده XML است که در این مثال از آن استفاده خواهیم کرد:

<Person>
	<Name>John Doe</Name>
	<Age>30</Age>
	<Birth>1989-04-01 4:00:00 pm</Birth>
	<Child>Ann Doe</Child>
	<Child>Charles Doe</Child>
</Person>

اکنون، با دنبال کردن مراحل زیر می‌توانیم به راحتی یک سند Word از منبع داده XML ایجاد کنیم:

  1. فایل قالب Word را با استفاده از کلاس Document بارگیری کنید.
  2. یک نمونه از کلاس XmlDataSource ایجاد کنید و آن را با مسیر فایل XML مقداردهی اولیه کنید.
  3. کلاس Instantiate ReportingEngine.
  4. متد ReportingEngine.BuildReport() را با الگو، منبع داده و نام منبع داده فراخوانی کنید.
  5. سند Word تولید شده را با استفاده از متد ()Document.Save ذخیره کنید.

نمونه کد زیر نحوه تولید یک سند Word از منبع داده XML در پایتون را نشان می دهد.

# این مثال کد نحوه تولید یک سند Word از یک الگو را با استفاده از منبع داده XML نشان می دهد.
# قالب را بارگیری کنید
doc = aw.Document("D:\\Files\\template.docx")

# منبع داده را بارگیری کنید
data_source = aw.reporting.XmlDataSource("D:\\Files\\data-source.xml")

# موتور گزارش دهی اولیه
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "persons");

# سند را ذخیره کنید
doc.save("D:\\Files\\WordFromXML.docx")

خروجی

با استفاده از داده های XML در پایتون، اسناد Word را از قالب ایجاد کنید

با استفاده از داده‌های JSON در پایتون، اسناد Word را از قالب ایجاد کنید

برای ایجاد یک سند Word با استفاده از منبع داده JSON، از الگوی Word زیر استفاده می کنیم:

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

زیر منبع داده JSON است که برای پر کردن الگو از آن استفاده خواهیم کرد:

[
   {
       Name: "John Smith",
       Contract:
       [
           {
               Client:
               {
                   Name: "A Company"
               },
               Price: 1200000
           },
           {
               Client:
               {
                   Name: "B Ltd."
               },
               Price: 750000
           },
           {
               Client:
               {
                   Name: "C & D"
               },
               Price: 350000
           }
       ]
   },
   {
       Name: "Tony Anderson",
       Contract:
       [
           {
               Client:
               {
                   Name: "E Corp."
               },
               Price: 650000
           },
           {
               Client:
               {
                   Name: "F & Partners"
               },
               Price: 550000
           }
       ]
   },
]

با دنبال کردن مراحلی که قبلا ذکر شد، می‌توانیم به راحتی سند Word را از منبع داده JSON تولید کنیم. با این حال، ما از کلاس JsonDataSource برای بارگیری و استفاده از منبع داده JSON در مرحله 2 استفاده خواهیم کرد.

نمونه کد زیر نحوه تولید یک سند Word از قالب را با استفاده از JSON در پایتون نشان می دهد.

# این مثال کد نحوه تولید یک سند Word از یک الگو را با استفاده از منبع داده JSON نشان می دهد.
# قالب را بارگیری کنید
doc = aw.Document("D:\\Files\\template-json.docx")

# منبع داده را بارگیری کنید
data_source = aw.reporting.JsonDataSource("D:\\Files\\data-source.json")

# موتور گزارش دهی اولیه
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "managers");

# سند را ذخیره کنید
doc.save("D:\\Files\\WordFromJSON.docx")

خروجی

با استفاده از داده‌های JSON در پایتون، اسناد Word را از قالب ایجاد کنید

اسناد Word را با داده های CSV در پایتون ایجاد کنید

برای تولید سند Word از CSV، از الگوی Word زیر استفاده می کنیم:

<<foreach [in persons]>>Name: <<[Column1]>>, Age: <<[Column2]>>, Date of Birth: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Column2)]>>

الگو با داده های CSV زیر پر می شود:

John Doe,30,1989-04-01 4:00:00 pm
Jane Doe,27,1992-01-31 07:00:00 am
John Smith,51,1968-03-08 1:00:00 pm

اکنون، می‌توانیم سند Word را از منبع داده CSV با دنبال کردن مراحلی که قبلا ذکر شد، تولید کنیم. با این حال، ما از کلاس CsvDataSource برای بارگیری و استفاده از منبع داده CSV در مرحله 2 استفاده خواهیم کرد.

نمونه کد زیر نحوه تولید یک سند Word از منبع داده CSV در پایتون را نشان می دهد.

# این مثال کد نحوه تولید یک سند Word از یک الگو را با استفاده از منبع داده JSON نشان می دهد.
# قالب را بارگیری کنید
doc = aw.Document("D:\\Files\\template-csv.docx")

# منبع داده را بارگیری کنید
data_source = aw.reporting.CsvDataSource("D:\\Files\\data-source.csv")

# موتور گزارش دهی اولیه
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "persons");

# سند را ذخیره کنید
doc.save("D:\\Files\\WordFromCSV.docx")

خروجی

اسناد Word را با داده های CSV در پایتون ایجاد کنید

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

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

Python LINQ Reporting Engine - بیشتر بخوانید

LINQ Reporting Engine از طیف گسترده ای از برچسب ها برای تولید اسناد Word با ویژگی های کامل به صورت پویا در پایتون پشتیبانی می کند. می توانید اطلاعات بیشتری در مورد این برچسب ها به همراه نحو آنها در [این مقاله] بخوانید.

پایتون سند Word را از قالب - منابع رایگان تولید می کند

علاوه بر تولید اسناد Word از قالب‌ها، درباره ایجاد، دستکاری و تبدیل اسناد Word اطلاعات بیشتری کسب کنید و با استفاده از منابع زیر، ویژگی‌های مختلف کتابخانه را بررسی کنید:

نتیجه

در این مقاله یاد گرفتیم که چگونه اسناد Word را از قالب ها در پایتون تولید کنیم. ما همچنین نحوه استفاده از منابع داده XML، JSON و CSV را برای تولید اسناد Word دیده ایم. با استفاده از Aspose.Words برای Python LINQ Reporting Engine، می توانید به راحتی انواع مختلفی از اسناد Word را تولید کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.

مقالات مرتبط