Автоматизация слов Python

Мы можем автоматизировать MS Word для создания новых документов Word (DOC или DOCX), редактировать или изменять существующие или преобразовывать их в другие форматы без использования Microsoft Office. Автоматизация Python MS Word позволяет программно выполнять все действия, которые мы можем выполнять через пользовательский интерфейс MS Word. В этой статье мы узнаем, как автоматизировать MS Word для создания, редактирования или преобразования документов Word с помощью Python.

В этой статье рассматриваются все основные функции, необходимые для создания документов Word и управления ими программными средствами с помощью Python. Эта статья включает следующие темы:

API автоматизации Python MS Word для создания, редактирования или преобразования документов Word

Для автоматизации Word мы будем использовать API Aspose.Words for Python. Это полное и многофункциональное решение автоматизации Word для создания, редактирования или анализа документов Word программными средствами. Класс Document API представляет документ Word. API предоставляет класс DocumentBuilder, который предлагает различные методы для вставки текста, изображений и другого содержимого в документ. Этот класс также позволяет указать шрифт, форматирование абзаца и раздела. Класс Run API представляет набор символов с одинаковым форматированием шрифта. Установите библиотеку в свое приложение Python из PyPI, используя следующую команду pip.

pip install aspose-words

Создавайте документы Word с помощью Python

Мы можем создавать документы Word программно, выполнив следующие шаги:

  • Во-первых, создайте экземпляр класса Document.
  • Затем создайте экземпляр класса DocumentBuilder с объектом Document в качестве аргумента.
  • После этого вставьте/запишите элементы, чтобы добавить текст, абзацы, таблицы или изображения, используя объект DocumentBuilder.
  • Наконец, вызовите метод save() с путем к выходному файлу в качестве аргумента, чтобы сохранить созданный файл.

В следующем примере кода показано, как создать документ Word (DOCX) с помощью Python.

import aspose.words as aw

# This code example demonstrates how to create a new Word document using Python.
# Create document object
doc = aw.Document()

# Create a document builder object
builder = aw.DocumentBuilder(doc)

# Specify font formatting Font
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE

# Insert text
builder.writeln("Welcome")
builder.writeln()

# Set paragraph formatting
font.size = 14
font.bold = False
font.name = "Arial"
font.underline = aw.Underline.NONE

paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# Insert paragraph
builder.writeln('''Aspose.Words for Python is a class library that enables your applications to perform a great range of document processing tasks. 
    It supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others. 
    With the API, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.
''')
builder.writeln()

# Insert a Table
font.bold = True
builder.writeln("This is a sample table")
font.bold = False

# 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("Row 1 cell 1")
builder.insert_cell()
builder.write("Row 1 cell 2")
builder.end_row()

builder.insert_cell()
builder.write("Row 2 cell 1")
builder.insert_cell()
builder.write("Row 2 cell 2")
builder.end_row()

# End table
builder.end_table()
builder.writeln()

# Insert image
builder.insert_image("C:\\Files\\aspose-icon.png")

# Save document
doc.save("C:\\Files\\sample_output.docx")
Создание документов Word

Создавайте документы Word с помощью Python.

Редактировать или изменять документы Word с помощью Python

В предыдущем разделе мы создали документ Word. Теперь давайте отредактируем его и изменим содержимое документа. Мы можем редактировать документы Word, выполнив следующие шаги:

  • Во-первых, загрузите существующий документ Word, используя класс Document.
  • Затем перейдите к конкретному разделу по его индексу.
  • Затем получите доступ к содержимому первого абзаца как к объекту класса Run.
  • После этого установите текст для обновления для доступного абзаца.
  • Наконец, вызовите метод save() с путем к выходному файлу, чтобы сохранить обновленный файл.

В следующем примере кода показано, как редактировать документ Word (DOCX) с помощью Python.

import aspose.words as aw

# This code example demonstrates how to edit an existing Word document.
# Load the document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Initialize document builder
builder = aw.DocumentBuilder(doc)

# Access the paragraph
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"

# Save the document
doc.save("C:\\Files\\sample_updated.docx")
Редактировать или изменять документы Word

Редактируйте или изменяйте документы Word с помощью Python.

Поиск и замена текста в документах Word с помощью Python

Мы также можем найти любой текст и заменить его новым текстом, выполнив следующие действия:

  • Во-первых, загрузите документ Word, используя класс Document.
  • Затем создайте экземпляр класса FindReplaceOptions.
  • После этого вызовите метод replace(). Он принимает строку поиска, строку замены и объект FindReplaceOptions в качестве аргументов.
  • Наконец, вызовите метод save() с путем к выходному файлу, чтобы сохранить обновленный файл.

В следующем примере кода показано, как найти и заменить определенный текст в документе Word (DOCX) с помощью Python.

import aspose.words as aw

# This code example demonstrates how to find and replace text in Word document.
# Load the document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Update using find and replace
# Specify the search string and replace string using the Replace method.
doc.range.replace("Aspose.Words", "Hello", 
    aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# Save the document
doc.save("C:\\Files\\find_and_replace.docx")
Поиск и замена текста в документах Word

Поиск и замена текста в документах Word.

Преобразование документов Word с помощью Python

Мы можем конвертировать документы Word в другие форматы, такие как PDF, XPS, EPUB, HTML, JPG, PNG и т. д. Чтобы преобразовать документ Word в веб-страницу HTML, выполните следующие действия:

  • Во-первых, загрузите документ Word, используя класс Document.
  • Затем создайте экземпляр класса HtmlSaveOptions с объектом Document в качестве аргумента.
  • После этого укажите свойства cssstylesheettype, exportfontresources, resourcefolder и alias.
  • Наконец, вызовите метод save() с путем к выходному файлу и объектом HtmlSaveOptions в качестве аргументов, чтобы сохранить преобразованный HTML-файл.

В следующем примере кода показано, как преобразовать документ Word (DOCX) в HTML с помощью Python.

import aspose.words as aw

# This code example demonstrates how to convert a Word document to PDF.
# Load an existing Word document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Specify save options
saveOptions = aw.saving.HtmlSaveOptions()
saveOptions.css_style_sheet_type = aw.saving.CssStyleSheetType.EXTERNAL
saveOptions.export_font_resources = True
saveOptions.resource_folder = "C:\\Files\\Resources"
saveOptions.resource_folder_alias = "C:/Files/resources"

# Save the converted document
doc.save("C:\\Files\\Converted.html", saveOptions)
Convert Word Documents using Python.

Convert Word Documents using Python.

Точно так же мы можем конвертировать документы Word в другие поддерживаемые форматы. Подробнее о том, как конвертировать Word в EPUB, Word в PDF, документ Word в Markdown, Word в JPG или PNG-изображения читайте в документации. .

Разбирать документы Word с помощью Python

Мы можем анализировать документы Word и извлекать содержимое в виде обычного текста, выполнив следующие шаги:

  • Во-первых, загрузите документ Word, используя класс Document.
  • Затем извлеките и распечатайте текст.
  • Наконец, вызовите метод save(), чтобы сохранить документ Word в виде текстового файла. Этот метод принимает путь к выходному файлу в качестве аргумента.

В следующем примере кода показано, как анализировать документ Word (DOCX) с помощью Python.

import aspose.words as aw

# This code example demonstrates how to parse a Word document.
# Load the document
doc = aw.Document("C:\\Files\\Sample.docx")

# Extract text
print(doc.range.text)

# Save as plain text
doc.save("C:\\Files\\output.txt")

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать библиотеку без ограничений пробной версии.

Вывод

В этой статье мы узнали, как:

  • автоматизировать MS Word с помощью Python;
  • программно создавать и редактировать документы Word;
  • анализировать или конвертировать файлы DOCX;
  • находить и заменять текст в документах Word с помощью Python.

Кроме того, вы можете узнать больше об Aspose.Words for Python API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также