Я хочу иметь возможность программно добавлять номера строк ко всему документу. Я наткнулся на python-docx
, который позволяет мне возиться с .docx
файлами в python. Однако мне не удалось успешно добавить номера строк в мой документ, используя расширение, используя следующий код:
from docx import Document
from docx.oxml.shared import OxmlElement
document = Document('sample.docx')
sections = document.sections
for section in sections:
sectPr = section._sectPr
lnNumType = OxmlElement('w:lnNumType')
lnNumType.set('countBy', '1')
lnNumType.set('start', '1')
lnNumType.set('restart', 'newSection')
sectPr.append(lnNumType)
document.save('sample-output.docx')
Когда я открываю сгенерированный sample-output.docx
в Word, номер строки не отображается. Тем не менее, когда я конвертирую файл в xml, я вижу, что <w:lnNumType w:count-by="5" w:distance="282.9954" w:restart="continuous"/>
было добавлено в документ. В тегах <w:wordDocument>
и <w:body>
xml.
Я не слишком уверен, если это проблема с моим кодом или с тем, как .docx
s вызывает эту проблему.
Надеюсь, кто-то может помочь мне здесь или предложить другие способы сделать это.