最近需要进行docx文档与pdf文件对比的任务,在使用docx包进行读取的时候遇到的问题,自动编号格式的编号无法读出来。网上各种查也没有解决办法。自能自己研究xml。发现带自动编号的都是如下形式:
<w:pPr>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="4"/>
</w:numPr>
<w:rPr>
<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
<w:b/>
<w:szCs w:val="21"/>
</w:rPr>
</w:pPr>
<w:bookmarkStart w:id="0" w:name="_GoBack"/>
<w:bookmarkEnd w:id="0"/>
含有‘<w:numPr>’块的就是自动编号,而‘w:val=’ 代表了形式,比如这里的4就是从 一、二、 开始编号。
所以只需要加一层判断:
if '<w:numPr>' in doc.paragraphs[d]._element.xml:
在该text之前加上对应的自动编码序号
版权声明:本文为qq_25618315原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。