我希望能够以编程方式将行号添加到整个文档中。我偶然发现了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
的工作方式导致此问题。
希望有人可以在这里为我提供帮助或提出其他建议。