硬分页符将作为
<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 etreefrom docx import nsprefixespage_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的方法调用。
让我知道您的情况,如有需要,我可以进行调整。



