Новые строки / табуляторы превращаются в пробелы в сгенерированном документе

StackOverflow https://stackoverflow.com//questions/23048468

  •  21-12-2019
  •  | 
  •  

Вопрос

У меня проблема с \n и \t Теги.Когда я открываю сгенерированный .docx в Открытый офис все выглядит нормально, но когда я открываю тот же документ в Microsoft Word ( Microsoft Word ) Я просто получаю последние два табулятора в разделе "Surname" и пробелы вместо новых строк / табуляторов в других разделах.Что случилось?

p = document.add_paragraph('Simple paragraph')
p.add_run('Name:\t\t' + name).bold = True
p.add_run('\n\nSurname:\t\t' + surname)
Это было полезно?

Решение

В Word то, что мы часто называем переводом строки, преобразуется в объект paragraph.Если вы хотите, чтобы в вашем документе были пустые абзацы, вам нужно будет вставить их явно.

Прежде всего, однако, вам следует спросить, используете ли вы абзацы для форматирования, что является обычной практикой для пользователей Word, но с которой вы, возможно, захотите разобраться по-другому, в частности, используя свойства абзаца "пробел перед" и / или "пробел после".В HTML это примерно соответствовало бы padding-top и padding-bottom.

В этом случае, если вам просто нужны переводы строк, рассмотрите возможность использования таких абзацев, как so:

document.add_paragraph('Simple paragraph')
p = document.add_paragraph()
p.add_run('Name:\t\t').bold = True
p.add_run(name)
document.add_paragraph()
p = document.add_paragraph()
p.add_run('Surname:\t\t').bold = True
p.add_run(surname)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top