当前位置: 首页 > article >正文

python在word的页脚插入页码

1、插入简易页码

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,可以将页码居中。

生成效果:

1619c810af645fa6ca4056c3ddfa8c3c.png?source=d16d100b

 

2、插入自定义页码样式

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

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

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)# 在第三个字符的位置插入页码

生成效果:

b6a4adedbb6d7572158c59c991a18b2d.png?source=d16d100b

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

 

3、跳过目录页插入页码

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

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

 

示例代码效果:

fd9bcf1ebd1ac517100e95a5c4f892ce.png?source=d16d100b

首页没有页码, ]nCVB6

7a66bbb2abe6d6eafe7412ab57afabff.png?source=d16d100b

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

 


http://www.kler.cn/a/376819.html

相关文章:

  • 慧集通(DataLinkX)iPaaS集成平台-数据流程之流程透明化调试功能简介
  • C++实现图书管理系统(Qt C++ GUI界面版)
  • VS2022 安装和配置 vcpkg
  • 在 macOS 中,设置自动将文件夹排在最前
  • 优化提示词改善答疑机器人回答质量
  • c++类和对象---上
  • springboot 整合 modbus4j
  • Flutter图片控件(七)
  • 个人学习React Native的实际意义探讨
  • 练习LabVIEW第三十三题
  • 【C++】1968. 输出ascii码对应的字符
  • PAT甲级-1052 Linked List Sorting
  • #渗透测试#SRC漏洞挖掘# 信息收集-Shodan进阶之Mongodb未授权访问
  • sql进阶篇
  • 华为云安装docker
  • GNSS和PTP时间同步的基础原理介绍
  • Android 百度面经
  • Golang反射原理
  • 问:Redis常见性能问题及解法?
  • LeetCode每日一题3226---使两个整数相等的位更改次数
  • C#WPF使用CommunityToolkit.Mvvm库
  • jmeter基础01-1_环境准备-windows系统安装jdk
  • 基本查询【MySQL】
  • token无感刷新+处理并发的后端方案
  • Vue3+TypeScript+Vite 后台管理项目_登录页面开发实战
  • 项目实战:基于Linux的Flappy bird游戏开发