以编程方式将行号添加到

时间:2019-03-27 22:14:03

标签: python ms-word openxml python-docx

我希望能够以编程方式将行号添加到整个文档中。我偶然发现了python-docx,这使我可以在python中摆弄.docx文件。但是,我无法使用以下代码通过扩展名向我的文档中成功添加行号:

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')

当我在Word中打开生成的sample-output.docx时,行号不显示。但是,当我将文件转换为xml时,可以看到<w:lnNumType w:count-by="5" w:distance="282.9954" w:restart="continuous"/>已添加到文档中。在<w:wordDocument><w:body> xml标签中。

我不太确定这是我的代码还是.docx的工作方式导致此问题。

希望有人可以在这里为我提供帮助或提出其他建议。

0 个答案:

没有答案