Python Створення документа Word із шаблону

Шукаєте спосіб створення документів Word із шаблонів? Ви потрапили в потрібне місце! У цій публікації блогу ми розглянемо найкраще рішення для створення документів Word із шаблонів із використанням різних типів джерел даних у Python. Дізнайтеся, як використовувати попередньо визначені шаблони для створення документів Word у форматі DOCX, заповнюючи заповнювачі за допомогою різних джерел даних, таких як XML, JSON або CSV.

Ця стаття охоплює такі теми:

  1. Бібліотека Python для створення документів Word із шаблонів
  2. Створення документів Word із шаблону за допомогою даних XML
  3. Створення документів Word із шаблону за допомогою даних JSON
  4. Створення документів Word із даними CSV у Python
  5. Механізм звітування Python LINQ
  6. Безкоштовні ресурси

Бібліотека Python для створення документів Word із шаблонів

Ми будемо використовувати LINQ Reporting Engine API Aspose.Words for the Python для створення документів Word із шаблонів. Цей механізм підтримує різні теги для тексту, зображень, списків, таблиць, гіперпосилань і закладок. Ми заповнюємо документи Word, які містять ці теги, і заповнюємо їх даними з джерел даних XML, JSON або CSV. Отже, давайте почнемо генерувати документи Word із шаблонів за допомогою Python.

Встановлення Aspose.Words for Python

Ви можете завантажити пакет або інсталювати API з PyPI за допомогою такої команди pip у консолі:

> pip install aspose-words

Створюйте документи Word із шаблону за допомогою даних XML у Python

Щоб створити документ 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. Створення екземпляра класу ReportingEngine.
  4. Викличте метод ReportingEngine.BuildReport() із шаблоном, джерелом даних і назвою джерела даних.
  5. Збережіть створений документ Word за допомогою методу Document.Save().

У наведеному нижче прикладі коду показано, як створити документ Word із джерела даних XML у Python.

# Цей приклад коду демонструє, як створити документ 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")

Вихід

Створюйте документи Word із шаблону за допомогою даних XML у Python

Створюйте документи Word із шаблону за допомогою даних JSON у Python

Для створення документа 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 у Python.

# Цей приклад коду демонструє, як створити документ 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")

Вихід

Створюйте документи Word із шаблону за допомогою даних JSON у Python

Створюйте документи Word із даними CSV у Python

Для створення документа 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 у Python.

# Цей приклад коду демонструє, як створити документ 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 у Python

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію і створювати документи Word без оціночних обмежень.

Механізм звітування Python LINQ – докладніше

Механізм звітування LINQ підтримує широкий спектр тегів для динамічного створення повнофункціональних документів Word на Python. Ви можете прочитати більше про ці теги разом із їхнім синтаксисом у цій статті.

Python Створити документ Word із шаблону – безкоштовні ресурси

Окрім створення документів Word із шаблонів, дізнайтеся більше про створення, обробку та перетворення документів Word, а також ознайомтеся з різними іншими функціями бібліотеки за допомогою наведених нижче ресурсів:

Висновок

У цій статті ми дізналися, як створювати документи Word із шаблонів у Python. Ми також побачили, як використовувати джерела даних XML, JSON і CSV для створення документів Word. Використовуючи Aspose.Words for Python LINQ Reporting Engine, ви можете легко створювати різні типи документів Word. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Схожі статті