Ми можемо автоматизувати MS Word, щоб створювати нові документи Word (DOC або DOCX), редагувати або змінювати існуючі або конвертувати їх в інші формати без використання Microsoft Office. Автоматизація Python MS Word дозволяє програмно виконувати всі дії, які ми можемо виконувати через інтерфейс користувача MS Word. У цій статті ми дізнаємося, як автоматизувати MS Word для створення, редагування або конвертації документів Word за допомогою Python.
Ця стаття охоплює всі основні функції, необхідні для програмного створення та обробки документів Word за допомогою Python. Ця стаття містить такі теми:
- Python MS Word Automation API для створення, редагування або перетворення документів Word
- Створення документів Word
- Редагувати або змінювати документи Word
- Пошук і заміна тексту в документах Word
- Перетворення документів Word
- Синтаксичний аналіз документів Word
Python MS Word Automation API для створення, редагування або перетворення документів 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
# Цей приклад коду демонструє, як створити новий документ Word за допомогою Python.
# Створити об'єкт документа
doc = aw.Document()
# Створіть об’єкт конструктора документів
builder = aw.DocumentBuilder(doc)
# Вкажіть форматування шрифту Шрифт
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE
# Вставте текст
builder.writeln("Welcome")
builder.writeln()
# Встановити форматування абзацу
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
# Вставте абзац
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()
# Вставте таблицю
font.bold = True
builder.writeln("This is a sample table")
font.bold = False
# Початковий стіл
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("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()
# Кінець таблиці
builder.end_table()
builder.writeln()
# Вставте зображення
builder.insert_image("C:\\Files\\aspose-icon.png")
# Зберегти документ
doc.save("C:\\Files\\sample_output.docx")
Редагуйте або змінюйте документи Word за допомогою Python
У попередньому розділі ми створили документ Word. Тепер давайте відредагуємо його та змінимо вміст документа. Ми можемо редагувати документи Word, виконавши наведені нижче дії.
- По-перше, завантажте наявний документ Word за допомогою класу Document.
- Далі перейдіть до певного розділу за його індексом.
- Потім відкрийте вміст першого абзацу як об’єкт класу Run.
- Після цього встановіть текст для оновлення абзацу.
- Нарешті, викличте метод save() із шляхом до вихідного файлу, щоб зберегти оновлений файл.
У наведеному нижче прикладі коду показано, як редагувати документ Word (DOCX) за допомогою Python.
import aspose.words as aw
# Цей приклад коду демонструє, як редагувати наявний документ Word.
# Завантажте документ
doc = aw.Document("C:\\Files\\sample_output.docx")
# Ініціалізувати конструктор документів
builder = aw.DocumentBuilder(doc)
# Доступ до абзацу
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"
# Збережіть документ
doc.save("C:\\Files\\sample_updated.docx")
Пошук і заміна тексту в документах Word за допомогою Python
Ми також можемо знайти будь-який текст і замінити його новим текстом, виконавши наведені нижче дії:
- По-перше, завантажте документ Word за допомогою класу Document.
- Далі створіть екземпляр класу FindReplaceOptions.
- Після цього викличте метод replace(). Він приймає рядок пошуку, рядок заміни та об’єкт FindReplaceOptions як аргументи.
- Нарешті, викличте метод save() із шляхом до вихідного файлу, щоб зберегти оновлений файл.
У наведеному нижче прикладі коду показано, як знайти та замінити певний текст у документі Word (DOCX) за допомогою Python.
import aspose.words as aw
# Цей приклад коду демонструє, як знайти та замінити текст у документі Word.
# Завантажте документ
doc = aw.Document("C:\\Files\\sample_output.docx")
# Оновлення за допомогою пошуку та заміни
# Вкажіть рядок пошуку та замініть рядок за допомогою методу Replace.
doc.range.replace("Aspose.Words", "Hello",
aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))
# Збережіть документ
doc.save("C:\\Files\\find_and_replace.docx")
Перетворюйте документи Word за допомогою Python
Ми можемо конвертувати документи Word в інші формати, такі як PDF, XPS, EPUB, HTML, JPG, PNG тощо. Щоб перетворити документ Word на веб-сторінку HTML, виконайте наведені нижче дії.
- По-перше, завантажте документ Word за допомогою класу Document.
- Далі створіть екземпляр класу HtmlSaveOptions з об’єктом Document як аргументом.
- Після цього вкажіть властивості cssstylesheettype, exportfontresources, resourcefolder і псевдонім.
- Нарешті, викличте метод save() із шляхом до вихідного файлу та об’єктом HtmlSaveOptions як аргументами, щоб зберегти перетворений файл HTML.
У наведеному нижче прикладі коду показано, як конвертувати документ Word (DOCX) у HTML за допомогою Python.
import aspose.words as aw
# Цей приклад коду демонструє, як конвертувати документ Word у PDF.
# Завантажте наявний документ Word
doc = aw.Document("C:\\Files\\sample_output.docx")
# Вкажіть параметри збереження
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"
# Збережіть перетворений документ
doc.save("C:\\Files\\Converted.html", saveOptions)
Так само ми можемо конвертувати документи 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
# Цей приклад коду демонструє, як розібрати документ Word.
# Завантажте документ
doc = aw.Document("C:\\Files\\Sample.docx")
# Витягніть текст
print(doc.range.text)
# Зберегти як звичайний текст
doc.save("C:\\Files\\output.txt")
Отримайте безкоштовну ліцензію
Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.
Висновок
У цій статті ми дізналися, як:
- автоматизувати MS Word за допомогою Python;
- створювати та редагувати документи Word програмно;
- аналізувати або конвертувати файли DOCX;
- знаходити та замінювати текст у документах Word за допомогою Python.
Крім того, ви можете дізнатися більше про API Aspose.Words for Python за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на форумі.