Добавить номера строк программно - PullRequest
0 голосов
/ 28 марта 2019

Я хочу иметь возможность программно добавлять номера строк ко всему документу. Я наткнулся на 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 вызывает эту проблему.

Надеюсь, кто-то может помочь мне здесь или предложить другие способы сделать это.

...