起手还是导入库
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