Автоматизація Word у Python

Файли MS Word широко використовуються для створення різних типів документів, таких як рахунки-фактури, звіти, технічні статті тощо. Автоматизація документів полегшила користувачам динамічне створення документів Word із веб-порталів або порталів настільних комп’ютерів. Тому в цій статті ми розглянемо, як створити документи Word на Python без MS Office. Крім того, ви дізнаєтеся, як створити файл DOCX або DOC і динамічно додавати в нього текст або інші елементи за допомогою Python.

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

Щоб динамічно створювати документи Word, ми будемо використовувати Aspose.Words for Python. Це потужна бібліотека Python, яка дозволяє легко створювати документи MS Word і працювати з ними. Ви можете встановити бібліотеку у своїй програмі Python із PyPI за допомогою такої команди pip.

pip install aspose-words

Створіть файл Word DOCX або DOC на Python

Нижче наведено кроки для створення документа Word з нуля в Python.

  • Створіть об’єкт класу Document.
  • Створити об’єкт класу DocumentBuilder.
  • Вставте текст у документ за допомогою методу DocumentBuilder.write().
  • Збережіть документ Word за допомогою методу Document.save().

Код Python для створення документа Word

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

import aspose.words as aw

# створити об'єкт документа
doc = aw.Document()

# створити об’єкт конструктора документів
builder = aw.DocumentBuilder(doc)

# додати текст до документа
builder.write("Hello world!")

# зберегти документ
doc.save("out.docx")

Вихід

створити документ Word Python

Як завантажити документ Word на Python

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

import aspose.words as aw

# створити об'єкт документа
doc = aw.Document("document.docx")

# маніпулювати документом

# зберегти документ
doc.save("out.docx")

Python Створення документа Word – вставлення абзацу

Документи Word містять текст у формі абзаців. Тому в цьому розділі ми продемонструємо, як вставити абзац у документ Word за допомогою Python.

  • Створіть об’єкт класу Document.
  • Створити об’єкт класу DocumentBuilder.
  • Отримайте посилання на шрифт з об’єкта Documentbuilder і встановіть шрифт.
  • Отримайте посилання на формат абзацу з об’єкта Documentbuilder і встановіть відступи, вирівнювання тощо.
  • Вставте текст в абзац за допомогою методу DocumentBuilder.write().
  • Збережіть документ Word за допомогою методу Document.save().

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

import aspose.words as aw

# створити об'єкт документа
doc = aw.Document()

# створити об’єкт конструктора документів
builder = aw.DocumentBuilder(doc)

# створити шрифт
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# встановити форматування абзацу
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# додати текст
builder.writeln("A whole paragraph.")

# зберегти документ
doc.save("out.docx")

Вихід

створити абзац у документі word python

Дізнайтеся більше про роботу з абзацами в документах Word за допомогою Python.

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

Таблиці є складовою частиною документів для відображення інформації у вигляді рядків і стовпців. Aspose.Words for Python значно полегшує роботу з таблицями. Нижче наведено кроки, щоб додати таблицю в документ Word за допомогою Python.

  • Створіть об’єкт класу Document.
  • Створити об’єкт класу DocumentBuilder.
  • Запустіть таблицю за допомогою методу DocumentBuilder.starttable() і отримайте посилання на таблицю в об’єкті.
  • Вставте клітинку за допомогою методу DocumentBuilder.insertcell().
  • Встановіть автоматичне припасування за допомогою методу autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • Встановити вирівнювання комірки.
  • Вставте текст у клітинку за допомогою методу DocumentBuilder.write().
  • Повторіть вставлення клітинок і тексту в клітинки за потреби.
  • Завершіть рядок, коли завершите вставлення клітинок.
  • Завершіть таблицю, коли ви вставите всі рядки.
  • Збережіть документ Word за допомогою методу Document.save().

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

import aspose.words as aw

# створити об'єкт документа
doc = aw.Document()

# створити об’єкт конструктора документів
builder = aw.DocumentBuilder(doc)

# стартовий стіл
table = builder.start_table()

# вставити клітинку 
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# встановити форматування та додати текст
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")

# вставити клітинку
builder.insert_cell()
builder.write("This is row 1 cell 2")

# кінцевий ряд
builder.end_row()

# вставте іншу клітинку в наступний рядок
builder.insert_cell()

# форматувати рядок, якщо потрібно
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# відформатувати комірку та додати текст
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, встановити форматування та додати текст
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# кінцевий ряд
builder.end_row()

# кінець таблиці
builder.end_table()

# зберегти документ
doc.save("out.docx")

Вихід

створити таблицю в документі word python

Дізнайтеся більше про те, як працювати з таблицями в документах Word за допомогою Python.

Python: Створення списку в документі Word

Нижче наведено кроки для створення списку в документі Word за допомогою Python.

  • Створіть об’єкт класу Document.
  • Створити об’єкт класу DocumentBuilder.
  • Налаштуйте форматування за допомогою методу DocumentBuilder.listformat.applynumberdefault().
  • Вставте елемент за допомогою методу DocumentBuilder.writeln(“Item 1”).
  • Вставте другий елемент за допомогою методу DocumentBuilder.writeln(“Item 2”).
  • Щоб вставити елементи на наступний рівень списку, викличте метод DocumentBuilder.listformat.listindent() і вставте елементи.
  • Видаліть номери зі списку за допомогою методу DocumentBuilder.listformat.removenumbers().
  • Збережіть документ Word за допомогою методу Document.save().

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

import aspose.words as aw

# створити об'єкт документа
doc = aw.Document()

# створити об’єкт конструктора документів
builder = aw.DocumentBuilder(doc)

# встановити форматування списку
builder.list_format.apply_number_default()

# вставити елемент
builder.writeln("Item 1")
builder.writeln("Item 2")

# встановити відступ для наступного рівня списку
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# знову зробити відступ для наступного рівня
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent, щоб повернутися до попереднього рівня
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# знову відступити, щоб повернутися на перший рівень
builder.list_format.list_outdent()
builder.writeln("Item 3")

# видалити цифри
builder.list_format.remove_numbers()

# зберегти документ
doc.save("out.docx")

Вихід

створити список у документі word python

Докладніше про роботу зі списками в документах Word за допомогою Python.

Вставте зображення в документ Word на Python

Працюючи з документами Word, не можна ігнорувати такі графічні об’єкти, як зображення. Отже, давайте розглянемо, як динамічно вставляти зображення в документ Word за допомогою Python.

  • Створіть об’єкт класу Document.
  • Створити об’єкт класу DocumentBuilder.
  • Вставте зображення за допомогою методу DocumentBuilder.insertimage() і передайте шлях до файлу зображення як параметр.
  • Збережіть документ Word за допомогою методу Document.save().

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

import aspose.words as aw

# створити об'єкт документа
doc = aw.Document()

# створити об’єкт конструктора документів
builder = aw.DocumentBuilder(doc)

# додати зображення
builder.insert_image("Logo.jpg")

# зберегти документ
doc.save("out.docx")

Вихід

створити зображення в документі Word Python

Створення змісту в документах Word на Python

У різних випадках документи Word містять зміст (TOC). Зміст містить огляд вмісту документа Word. Наступні кроки демонструють, як додати зміст до документів Word за допомогою Python.

  • Створіть об’єкт класу Document.
  • Створити об’єкт класу DocumentBuilder.
  • Вставте зміст за допомогою методу DocumentBuilder.inserttableofcontents().
  • Вставте розрив сторінки після TOC за допомогою методу DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK).
  • Після додавання/оновлення вмісту документа оновіть зміст за допомогою методу Document.updatefields().
  • Збережіть документ Word за допомогою методу Document.save().

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

import aspose.words as aw

# створити об'єкт документа
doc = aw.Document()

# створити об’єкт конструктора документів
builder = aw.DocumentBuilder(doc)

# вставити зміст
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# почати фактичний вміст документа на другій сторінці
builder.insert_break(aw.BreakType.PAGE_BREAK)

# додати вміст
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 1.1")
builder.writeln("Heading 1.2")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 2")
builder.writeln("Heading 3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3
builder.writeln("Heading 3.1.1")
builder.writeln("Heading 3.1.2")
builder.writeln("Heading 3.1.3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.2")
builder.writeln("Heading 3.3")

# щойно вставлений зміст спочатку буде порожнім
# його потрібно заповнити, оновивши поля в документі
doc.update_fields()

# зберегти документ
doc.save("out.docx")

Вихід

створити зміст у документі Word python

Докладніше про роботу зі змістом за допомогою Python.

Створюйте документи Word із безкоштовною ліцензією

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

Бібліотека автоматизації Python Word - Докладніше

У цій статті описано деякі основні операції створення документів Word і вставки різних елементів. Aspose.Words for Python також надає купу інших функцій, які ви можете дослідити за допомогою документації.

Висновок

У цій статті ви дізналися, як створювати файли Word DOCX або DOC на Python. Крім того, ви бачили, як динамічно вставляти текст, зображення, таблиці, списки та зміст у документи Word. Ви можете спробувати API та поділитися своїми відгуками або запитами на нашому форумі.

Дивись також

Перетворіть файли Word на PDF за допомогою PythonАвтоматизація злиття листів MS Word у PythonОб’єднання документів Word у Python
Порівняти документи Word у PythonРобота з макросами VBA в документах Word за допомогою PythonКопіювати вміст документа Word в інший у C#
Копіювати вміст документа Word в інший у JavaКопіювати вміст документа Word в інший у PythonСтворення презентацій MS PowerPoint на Python
Створення таблиці в документах Word за допомогою PythonВилучення тексту з документів Word на C#Вилучення тексту з документів Word у Python
Знайти та замінити текст у документах Word у PythonЗахист документів Word у PythonЗняти захист документів Word у Python
Розділити документ Word на кілька файлів у Python