您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用docx中的python-docx识别分页符

如何使用docx中的python-docx识别分页符

分页符将作为<w:br>元素出现在run元素(<w:r>)中,如下所示:

<w:p>
  <w:r>
    <w:t>some text</w:t>
    <w:br w:type="page"/>
  </w:r>
</w:p>

因此,一种方法是将所有这些出现替换为独特的文本字符串,例如“ {{foobar}}”。

的实现将是这样的:

from lxml import etree
from docx import nsprefixes

page_br_elements = document.xpath(
    "//w:p/w:r/w:br[@w:type='page']", namespaces={'w': nsprefixes['w']}
)
for br in page_br_elements:
    t = etree.Element('w:t', nsmap={'w': nsprefixes['w']})
    t.text = '{{foobar}}'
    br.addprevIoUs(t)
    parent = br.getparent()
    parent.remove(br)

我没有时间进行测试,因此您可能会遇到一些缺失的导入或其他内容,但是所需的一切都应该已经在docx模块中。其余的是lxml对_Element的方法调用

让我知道您的情况,如有需要,我可以进行调整。

python 2022/1/1 18:35:56 有255人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶