Neue Zeilen/Tabulatoren werden im generierten Dokument in Leerzeichen umgewandelt

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

  •  21-12-2019
  •  | 
  •  

Frage

Ich habe ein Problem mit \n Und \t Stichworte.Wenn ich ein generiertes öffne .docx In OpenOffice Alles sieht gut aus, aber wenn ich dasselbe Dokument öffne Microsoft Word Ich bekomme nur die letzten beiden Tabulatoren im Abschnitt "Surname" und Leerzeichen anstelle von Zeilenumbrüchen/Tabulatoren in anderen Abschnitten.Was ist falsch?

p = document.add_paragraph('Simple paragraph')
p.add_run('Name:\t\t' + name).bold = True
p.add_run('\n\nSurname:\t\t' + surname)
War es hilfreich?

Lösung

In Word wird das, was wir oft als Zeilenvorschub bezeichnen, in ein Absatzobjekt übersetzt.Wenn Sie leere Absätze in Ihrem Dokument haben möchten, müssen Sie diese explizit einfügen.

Zunächst sollten Sie sich jedoch fragen, ob Sie Absätze zur Formatierung verwenden. Dies ist eine gängige Praxis für Word-Benutzer, mit der Sie jedoch möglicherweise anders umgehen möchten, insbesondere durch die Verwendung der Leerzeichen-vor- und/oder Leerzeichen-nachher-Eigenschaften von ein Absatz.In HTML würde dies ungefähr padding-top und padding-bottom entsprechen.

Wenn Sie in diesem Fall nur die Zeilenumbrüche wünschen, sollten Sie Absätze wie diesen in Betracht ziehen:

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)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top