Как вы относитесь к своей нумерации? docx2python
вернет этот список как.
1) Main Topic
1) Sub Topic
Facts on subtopic
2) Sub Topic 1
Facts on Sub Topic 2
2) Another main topic
1) random text
2) random text1
Это не ваш точный ввод, но вы можете довольно легко вернуть его обратно к тому, что вы хотели. Значения отступа и числа будут там.
Если вы просто хотите увидеть текст, как указано выше:
from docx2python import docx2python
print(docx2python('document.docx').text)
Нумерованные списки будут иметь отступы от вкладок, вы можете сосчитать вкладки и написать небольшой анализатор, начинающийся с
from docx2python import docx2python
from docx2python.iterators import iter_paragraphs
content = docx2python('document.docx')
paragraphs = list(iter_paragraphs(content.document))
Это поместит весь заголовок, нижний колонтитул, контент, сноску и текст сноски в список. Вы можете выбрать любую его часть, используя
content.header
content.footer
content.body
content.footnotes
content.endnotes
вместо content.document
.
Одна из проблем, связанных с экспортом документов docx, html, pdf и т. Д. В обычный текст, заключается в том, что обычный текст не имеет возможности делать отступы в абзацах. Вы можете сделать отступ в первой строке абзаца с пробелами или табуляцией, но остальная часть абзаца не будет иметь отступ.
My plain-text, tab-indented paragraph will only be indented before
the line wrap, after that...
Вы должны: 1) остаться в исходном формате или 2) принять серьезные компромиссы.
Удачи в вашем проекте.