#python #python-3.x #python-docx
Вопрос:
У меня есть очень конкретная вещь, которую я пытаюсь сделать, поэтому я не знаю, может ли кто-нибудь из вас дать мне советы по этому поводу.
Главное, что я хочу сделать, — это создать файлы docx из файлов txt.
Я хочу, чтобы этот файл docx следовал четким правилам форматирования, особенно в отношении маркированных списков. Мне не нравятся стили списка слов по умолчанию, поэтому я хотел бы создать свой собственный.
К сожалению, я не нахожу в API python-docx ничего, касающегося этой проблемы : есть материал для форматирования абзаца, но, похоже, он ограничен отступом, в то время как мне нужно определить маркер, который я хочу использовать.
В те времена мои файлы txt были преобразованы в старый формат MS RTF (со всеми соответствующими тегами), поэтому я также мог попытаться использовать строки RTF непосредственно в сгенерированном документе (я пытался сделать это с помощью docxtpl), но у меня ничего не получилось.
У кого-нибудь есть идея на этот счет? Я нашел аналогичный вопрос, но, к сожалению, ответа не последовало, поэтому, боюсь, решения нет.
Ответ №1:
Любой файл .docx, с которого вы начинаете использовать document = Document("my_docx.docx")
, является файлом «шаблона», и любые стили и другие настройки по умолчанию, которые он содержит, применяются к документу, который вы затем создаете с помощью последующих python-docx
вызовов.
Поэтому, если вам не нравятся стили по умолчанию, просто создайте новый пустой документ с помощью Word и используйте пользовательский интерфейс Word для редактирования этих стилей в соответствии с требованиями, затем сохраните его и используйте в качестве исходного документа. Затем вы можете использовать обычные имена стилей для получения настраиваемого результата.
Комментарии:
1. Это вариант, но я бы предпочел сделать это программно, его проще поддерживать в скрипте python, чем в шаблоне docx.