Die grundlegende Herausforderung besteht darin, Überschriften zu identifizieren. Es gibt nichts, was einen Autor daran hindert, einen "normalen" Absatz so zu formatieren, dass er für einen Leser so aussieht (und ihm auch dient).
Es ist jedoch nicht ungewöhnlich, dass Autoren Stile zum Erstellen von Überschriften zuverlässig verwenden, da dies die automatische Zusammenstellung dieser Überschriften zu einem Inhaltsverzeichnis ermöglicht.
In diesem Fall können Sie einfach über die Absätze iterieren und diejenigen mit einer der Überschriften Stile auswählen.
def iter_headings(paragraphs):
for paragraph in paragraphs:
if paragraph.style.name.startswith('Heading'):
yield paragraph
for heading in iter_headings(document.paragraphs):
print heading.text
Schriftsebene können aus dem vollen Artnamen analysiert werden, wenn sie die Vorgaben gehalten haben (wie ‚Überschrift 1‘, ‚Überschrift 2‘, ...).
Dies muss möglicherweise angepasst werden, wenn der Autor die Überschriftenstile umbenannt hat.
Es gibt anspruchsvollere Ansätze, die zuverlässiger sind (was Stilnamen-unabhängig angeht), aber diese haben keine API-Unterstützung, so dass Sie den internen Code eingrenzen und mit einigen Stilen interagieren müssen XML direkt erwarte ich.
Also, was haben Sie versucht, können Sie uns zeigen und was das Problem ist, dass Sie laufen? – MooingRawr