Как добавить закладки в файлы Word с помощью Python
Добавляя закладки в ваш документ Word, вы можете легко отмечать важные разделы для быстрого доступа. В этом блоге я расскажу, как программно добавлять закладки с использованием Python.
Установите необходимую библиотеку
Для добавления закладок в Word мы будем использовать библиотеку Free Spire.Doc для Python. Ее можно установить с помощью следующей команды pip:
pip install spire.doc.free
Добавление закладки к абзацу в Word
Чтобы добавить закладку, вам нужно использовать классы BookmarkStart и BookmarkEnd, предоставленные Spire.Doc. Поместите BookmarkStart в начале, а BookmarkEnd в конце содержимого, которое вы хотите забукмаркать, присвоив закладке определенное имя.
Следующий код демонстрирует, как добавить закладку к конкретному абзацу:
from spire.doc import *
from spire.doc.common import *
# Создать объект документа
doc = Document()
# Загрузить пример файла Word
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx")
# Получить второй абзац
paragraph = doc.Sections[0].Paragraphs[1]
# Создать начало закладки
start = paragraph.AppendBookmarkStart("myBookmark")
# Вставить его в начало абзаца
paragraph.Items.Insert(0, start)
# Добавить конец закладки в конце абзаца
paragraph.AppendBookmarkEnd("myBookmark")
# Сохранить документ в другой файл
doc.SaveToFile("output/AddBookmarkToParagraph.docx", FileFormat.Docx2019)
# Освободить ресурсы
doc.Dispose()
Добавление закладки к указанному тексту в Word
Чтобы добавить закладку к определенному тексту, вы можете сначала использовать метод Document.FindAllString(), чтобы получить все вхождения текста. Затем выберите конкретный экземпляр и вставьте элемент BookmarkStart перед ним и элемент BookmarkEnd после него.
Следующий код иллюстрирует, как добавить закладку к указанному тексту:
from spire.doc import *
from spire.doc.common import *
# Создать объект документа
doc = Document()
# Загрузить пример файла Word
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx")
# Указать строку для поиска
string = «legal obligations»
# Найти все вхождения строки в документе
finds = doc.FindAllString(string, False, True)
# Получить конкретное вхождение
specificText = finds[0]
# Найти абзац, где расположен текст
paragraph = specificText.GetAsOneRange().OwnerParagraph
# Получить индекс текста в абзаце
index = paragraph.ChildObjects.IndexOf(specificText.GetAsOneRange())
# Создать начало закладки
start = paragraph.AppendBookmarkStart("myBookmark")
# Вставить начало закладки на индексной позиции
paragraph.ChildObjects.Insert(index, start)
# Создать конец закладки
end = paragraph.AppendBookmarkEnd("myBookmark")
# Вставить конец закладки в конце выбранного текста
paragraph.ChildObjects.Insert(index + 2, end)
# Сохранить документ в другой файл
doc.SaveToFile("output/AddBookmarkToText.docx", FileFormat.Docx2019)
# Освободить ресурсы
doc.Dispose()
Заключение
В этом блоге мы рассмотрели, как добавлять закладки в документ Word с помощью Python. Надеюсь, это поможет кому-то в нужде. Удачного кодирования!
Смотрите также: Как создавать документы Word в Python