Python-docx为多页word填写连续页号

from docx.oxml import OxmlElement, ns

#下面三个函数无脑复制粘贴
def create_element(name):
    return OxmlElement(name)
def create_attribute(element, name, value):
    element.set(ns.qn(name), value)
def add_page_number(run):
    fldChar1 = create_element('w:fldChar')
    create_attribute(fldChar1, 'w:fldCharType', 'begin')

    instrText = create_element('w:instrText')
    create_attribute(instrText, 'xml:space', 'preserve')
    instrText.text = "PAGE"

    fldChar2 = create_element('w:fldChar')
    create_attribute(fldChar2, 'w:fldCharType', 'end')

    run._r.append(fldChar1)
    run._r.append(instrText)
    run._r.append(fldChar2)

#没有要求的话,上面三个函数就不用去研究
#下面正文开始
doc = Document() 
add_page_number(doc.sections[0].footer.paragraphs[0].add_run())
footer = doc.sections[0].footer  # 获取页脚
paragraph = footer.paragraphs[0]  # 获取页脚的第一个段落
paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 设置页号居中
paragraph.runs[0].bold = True  #设置字体粗体
paragraph.runs[0].font.size = Pt(15)  #设置字号
doc.save("./docFile/test1.docx")  #保存,路径自己选择
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值