python在word的页脚插入页码

1、插入简易页码

python 复制代码
import win32com.client as win32
from win32com.client import constants
import os

doc_app = win32.gencache.EnsureDispatch('Word.Application')#打开word应用程序
doc_app.Visible = True

doc = doc_app.Documents.Add()
footer = doc.Sections(1).Footers(constants.wdHeaderFooterPrimary)
footer.Range.Text = "" #清空页脚内容
footer = doc.Sections(1).Footers(constants.wdHeaderFooterPrimary)
footer.LinkToPrevious = False
footer_rng = footer.Range
footer_rng.Text ="自动插入页码 "
footer.PageNumbers.Add(PageNumberAlignment=constants.wdAlignPageNumberRight, FirstPage=True)

如果存在多节的情况,可以修改footer.LinkToPrevious = True,这样页码就是连续的。

添加的页码默认是靠右对齐的。使用wdAlignPageNumberCenter,可以将页码居中。

生成效果:

2、插入自定义页码样式

有的时候,可能需要插入例如第1页,这样的页码样式。就要复杂一些了

需要在字符串"第 页"的中间插入页码。这时候需要用到Field,来实现页码。field可以有很多中作用,通过配置它的type来决定它代表什么。

python 复制代码
footer = doc.Sections(1).Footers(constants.wdHeaderFooterPrimary)
footer_rng = footer.Range
footer_rng.Text ="第   页"
rng = footer_rng.Characters(3)
doc.Fields.Add(Range=rng,Type=constants.wdFieldPage)# 在第三个字符的位置插入页码

生成效果:

添加图片注释,不超过 140 字(可选)

3、跳过目录页插入页码

当需要跳过目录页、或者封面,只在正文插入页码的时候,需要先在正文前插入分节符------让目录页或者封面与正文分别为不同的节。只对正文所在的节插入页码即可。

python 复制代码
import win32com.client as win32
from win32com.client import constants
import os

doc_app = win32.gencache.EnsureDispatch('Word.Application')#打开word应用程序
doc_app.Visible = True

doc = doc_app.Documents.Add()
parag = doc.Paragraphs.Add()
parag.Range.InsertBreak(constants.wdSectionBreakNextPage)# 在下一页插入分节符

parag = doc.Paragraphs.Add()
footer = doc.Sections(2).Footers(constants.wdHeaderFooterPrimary)
footer.Range.Text = "" # 清空页脚内容
footer = doc.Sections(2).Footers(constants.wdHeaderFooterPrimary)
footer.LinkToPrevious = False
footer_rng = footer.Range
footer_rng.Text ="自动插入页码 "
footer.LinkToPrevious = False
footer.PageNumbers.Add(PageNumberAlignment=constants.wdAlignPageNumberRight, FirstPage=True)
footer.PageNumbers.RestartNumberingAtSection = True #新的一节中,页码重新计数
footer.PageNumbers.StartingNumber = 1 # 起始页码为1

示例代码效果:

首页没有页码, ]nCVB6

第二页有插入页码,并且从1开始

相关推荐
czq_26867194878 分钟前
Python打卡第36天
pytorch·python·深度学习
计算机编程指导师10 分钟前
【计算机毕设】基于Hadoop+Spark的美国互联网银行贷款数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·数据分析·spark·毕业设计·贷款
Starry-sky(jing)26 分钟前
onnxruntime 安装后 GPU 没加速?3 条命令确认它跑在 CPU 还是 GPU
python·gpu·cuda·onnxruntime·推理加速
步行cgn27 分钟前
Spring AOP 实战:安全日志
python·安全·spring
诺伦36 分钟前
OpenAI Agents API 公测拆解:托管编排+持久会话+自有沙箱搭一条自动增长流水线 | RiseClaw玄策
python·openai·ai agent·营销自动化·agent编排
坊钰1 小时前
【LangGraph框架入门级】2. 图核心概念:State、Node、Edge 与 Reducers
python·ai编程·langgraph
wewowilling1 小时前
AI大模型开发--01Python基础(无废话)
开发语言·python·函数
小猴子爱上树1 小时前
跨境电商AI图片翻译工具:批量图片翻译、视频字幕翻译与智能抠图一站式解决
大数据·人工智能·python·音视频
5G微创业1 小时前
去除抖音视频水印的Python实现
python·微信小程序·去水印
WeiXin_DZbishe1 小时前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计