Файлы MS Word широко используются для создания различных типов документов, таких как счета-фактуры, отчеты, технические статьи и т. д. Автоматизация документов упростила пользователям динамическое создание документов Word из своих веб-порталов или настольных порталов. Поэтому в этой статье мы расскажем, как создавать документы Word в Python без MS Office. Кроме того, вы узнаете, как создать файл DOCX или DOC и динамически добавить в него текст или другие элементы с помощью Python.
- Python API для создания документов Word
- Создайте файл Word DOCX/DOC в Python
- Загрузите существующий документ Word
- Вставить абзац в документ Word
- Добавить таблицу в документ Word
- Добавить список в файл Word DOCX/DOC
- Вставить изображение в документ Word
- Добавить оглавление в файл Word
Python API для создания документов 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().
В следующем примере кода показано, как создать документ Word DOCX.
import aspose.words as aw
# create document object
doc = aw.Document()
# create a document builder object
builder = aw.DocumentBuilder(doc)
# add text to the document
builder.write("Hello world!")
# save document
doc.save("out.docx")
Выход
Загрузите существующий документ Word в Python
Вы также можете загрузить существующий документ Word, указав его путь к конструктору документа. В следующем примере кода показано, как загрузить документ Word.
import aspose.words as aw
# create document object
doc = aw.Document("document.docx")
# manipulate document
# save document
doc.save("out.docx")
Вставьте абзац в документ Word с помощью Python
Документы Word содержат текст в виде абзацев. Поэтому в этом разделе мы продемонстрируем, как вставить абзац в документ Word с помощью Python.
- Создайте объект класса Document.
- Создайте объект класса DocumentBuilder.
- Получите ссылку на шрифт из объекта Documentbuilder и установите шрифт.
- Получите ссылку на абзац из объекта Documentbuilder и установите отступ, выравнивание и т. д.
- Вставьте текст в абзац, используя метод DocumentBuilder.write().
- Сохраните документ Word, используя метод Document.save().
В следующем примере кода показано, как вставить абзац в документ Word с помощью Python.
import aspose.words as aw
# create document object
doc = aw.Document()
# create a document builder object
builder = aw.DocumentBuilder(doc)
# create font
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH
# set paragraph formatting
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True
# add text
builder.writeln("A whole paragraph.")
# save document
doc.save("out.docx")
Выход
Узнайте больше о работе с абзацами в документах Word с помощью Python.
Добавить таблицу в документ Word с помощью Python
Таблицы являются неотъемлемой частью документов для отображения информации в виде строк и столбцов. Aspose.Words для 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
# create document object
doc = aw.Document()
# create a document builder object
builder = aw.DocumentBuilder(doc)
# start table
table = builder.start_table()
# insert cell
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)
# set formatting and add text
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")
# insert cell
builder.insert_cell()
builder.write("This is row 1 cell 2")
# end row
builder.end_row()
# insert another cell in the next row
builder.insert_cell()
# format row if required
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY
# format cell and add text
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")
# insert another cell, set formatting and add text
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")
# end row
builder.end_row()
# end table
builder.end_table()
# save document
doc.save("out.docx")
Выход
Узнайте больше о том, как работать с таблицами в документах Word с помощью Python.
Создайте список в документе Word с помощью Python
Ниже приведены шаги для создания списка в документе 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
# create document object
doc = aw.Document()
# create a document builder object
builder = aw.DocumentBuilder(doc)
# set list formatting
builder.list_format.apply_number_default()
# insert item
builder.writeln("Item 1")
builder.writeln("Item 2")
# set indentation for next level of list
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")
# indent again for next level
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")
# outdent to get back to previous level
builder.list_format.list_outdent()
builder.writeln("Item 2.3")
# outdent again to get back to first level
builder.list_format.list_outdent()
builder.writeln("Item 3")
# remove numbers
builder.list_format.remove_numbers()
# save document
doc.save("out.docx")
Выход
Узнайте больше о работе со списками в документах Word с использованием Python.
Вставка изображений в документ Word с помощью Python
При работе с документами Word нельзя игнорировать графические объекты, например изображения. Итак, давайте посмотрим, как динамически вставлять изображения в документ Word с помощью Python.
- Создайте объект класса Document.
- Создайте объект класса DocumentBuilder.
- Вставьте изображение с помощью метода DocumentBuilder.insertimage() и передайте путь к файлу изображения в качестве параметра.
- Сохраните документ Word, используя метод Document.save().
В следующем примере кода показано, как вставить изображение в документ Word с помощью Python.
import aspose.words as aw
# create document object
doc = aw.Document()
# create a document builder object
builder = aw.DocumentBuilder(doc)
# add image
builder.insert_image("Logo.jpg")
# save document
doc.save("out.docx")
Выход
Создайте оглавление в документах Word с помощью Python
В различных случаях документы Word содержат оглавление (TOC). TOC дает вам обзор содержимого документа Word. Следующие шаги демонстрируют, как добавить оглавление в документы Word с помощью Python.
- Создайте объект класса Document.
- Создайте объект класса DocumentBuilder.
- Вставьте оглавление, используя метод DocumentBuilder.inserttableofcontents().
- Вставьте разрыв страницы после оглавления, используя метод DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK).
- После добавления/обновления содержимого документа обновите оглавление с помощью метода Document.updatefields().
- Сохраните документ Word, используя метод Document.save().
В следующем примере кода показано, как вставить оглавление в документ Word с помощью Python.
import aspose.words as aw
# create document object
doc = aw.Document()
# create a document builder object
builder = aw.DocumentBuilder(doc)
# insert table of contents
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")
# start the actual document content on the second page
builder.insert_break(aw.BreakType.PAGE_BREAK)
# add content
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")
# the newly inserted table of contents will be initially empty
# it needs to be populated by updating the fields in the document
doc.update_fields()
# save document
doc.save("out.docx")
Выход
Узнайте больше о работе с оглавлением с использованием Python.
Читать далее
В этой статье были рассмотрены некоторые основные операции по созданию документов Word и вставка различных элементов. Aspose.Words for Python также предоставляет множество других функций, которые вы можете изучить с помощью документации.
Получите бесплатную лицензию API
Вы можете получить временную лицензию, чтобы использовать Aspose.Words for Python без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как создавать файлы Word DOCX или DOC в Python. Кроме того, вы видели, как динамически вставлять текст, изображения, таблицы, списки и оглавление в документы Word. Вы можете попробовать API и поделиться своими отзывами или запросами на нашем форуме.
Смотрите также
Совет: Aspose предоставляет БЕСПЛАТНЫЙ онлайн-конвертер PowerPoint to Word, который позволяет быстро создавать документы Word из презентаций.