с помощью python-docx есть ли способ установить тему, которая используется для документа

#python-docx

#python-docx

Вопрос:

Когда я создаю новый документ, он начинается с них «Basic (Простой)», есть ли способ указать их как «Black amp; White (Классический)»

Ответ №1:

Просто используйте Word для создания пустого документа, используя нужную тему (наряду с любыми другими настройками, такими как определенные стили и т.д.) И используйте это в качестве отправной точки при открытии документа с помощью python-docx :

 document = Document("my-black-and-white-template.docx")
  

Все python-docx , что делается, когда вы не указываете документ для открытия, — это использование внутреннего документа по умолчанию, который является базовой (простой) темой, которую вы упомянули; это тот стиль, который был по умолчанию для нового документа в новой установке Word на момент написания этой части python-docx библиотеки. Это делается таким образом для удобства при начале работы и когда вы на самом деле не слишком заботитесь о теме.

Комментарии:

1. Таким образом, он использует исходный документ в качестве шаблона и не изменяет этот документ? Из пользовательской документации понятно, что она начинается с этого документа и изменяет его и сохраняет, так что вроде как сохранить как. Спасибо

2. Да, это совершенно верно. Хотя это может выглядеть иначе, python-docx можно редактировать только документ Word. Либо вы предоставляете ему одну для редактирования, например шаблон, либо разрешаете ему использовать встроенный документ по умолчанию. Действие .save() метода очень похоже на SaveAs в меню Word, как вы заметили, за исключением того, что python-docx не отслеживает документ, который вы открыли при запуске (поэтому нет операции, подобной Save), и было бы необычно и, вероятно, не рекомендуется перезаписывать файл, с которого вы начали, потому что вы не могли бы повторить процесс, чтобы исправить какие-либо ошибки тогда.