Как найти и заменить текст в нижнем колонтитуле документа Word с помощью «Python docx» - PullRequest
0 голосов
/ 18 февраля 2019

введите описание изображения здесь Я создал текстовый документ и добавил нижний колонтитул в этот документ, используя python docx.Но теперь я хочу заменить текст в нижнем колонтитуле.

Например: у меня есть абзац в нижнем колонтитуле, то есть «страницы с 1 по 10».Я хочу найти слово «to» и заменить его на «of», поэтому мой результат будет «Страница 1 из 10».

Мой код:

from docx import Document
document = Document()
document.add_heading('Document Title', 0)
section = document.sections[0]
footer = section.footer
footer.add_paragraph("Page 1 to 10")
document.save('mydoc.docx')

1 Ответ

0 голосов
/ 18 февраля 2019

Попробуйте это решение.Вам придется перебирать все нижние колонтитулы в документе

from docx import Document
document = Document('mydoc.docx')
for section in document.sections:
    footer = section.footer
    footer.paragraphs[1].text  = footer.paragraphs[1].text.replace("to", "of")

document.save('mydoc.docx') 

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

...