python-docx 页眉的处理

起手还是导入库

from docx import Document
from docx.enum.section import WD_SECTION_START
from docx.shared import Cm

再起手实例化

doc = Document()

对于页眉的讨论先要理解节的概念
(这个不用管)首先Document对象没有默认的段落,但有一个默认的节

print(len(doc.paragraphs))  # 0,没有默认段落
print(len(doc.sections))  # 1,有默认节

获取默认章节,并且在后面添加新章节

default_section = doc.sections[0]  # 获取默认节
new_section = doc.add_section(start_type=WD_SECTION_START.NEW_PAGE)  # 新增一个节,类型是新页的分隔符
#new_section.start_type = WD_SECTION_START.EVEN_PAGE#更改了类型,这个用的不多

对章节设置页眉

获得页眉

header = new_section.header

链接到上一节操作

print(header.is_linked_to_previous)

这里会显示默认True

header.is_linked_to_previous = False

加入页眉 这里把add的run放置到run2里面方便后面对他字体设置

run2 = header.paragraphs[0].add_run("第二章页眉")
header.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER   #居中
new_section.header_distance = Cm(1.5)

保存

doc.save(r"C:\dataset\test.docx")

对字体格式设置

run1.bold = True  # 加粗
run1.italic = True  # 斜体
run1.underline = True  # 下划线

run1.font.name = "Times New Roman"  # 设置西文是新罗马字体
run1.element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')  # 设置中文是宋体
run1.font.size = Pt(30)  # 字号大小

删除一些格式

run1.font.bold = False  # 是否加粗
run1.font.italic = False  # 是否斜体
run1.font.underline = False  # 是否下划线

还有一些补充设置,未必常用

# run.font.underline = WD_UNDERLINE.DOUBLE  # 设置为双下划线
# 查看所有下划线类型
# for line_type in WD_UNDERLINE.__members__:
#     print(line_type.name)
run1.font.shadow = True  # 是否阴影
run.font.strike = True  # 是否删除线
# run.font.double_strike = True  # 是否双删除线
run1.font.color.rgb = RGBColor(56, 36, 255)  # 字体颜色
# run1.font.color.rgb = RGBColor.from_string("ff0056")  # 字体颜色
run.font.highlight_color = WD_COLOR_INDEX.YELLOW  # 文本高亮颜色,此次设置为黄色
# 查看所有支持的高亮颜色
# for color in WD_COLOR_INDEX.__members__:
#     print(color.name)

保存
doc.save(“./test.docx”)
本笔记是对这篇文章的学习

https://blog.csdn.net/qq_39147299/article/details/125179590?spm=1001.2014.3001.5506

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值