乐于分享
好东西不私藏

别再手动改Word格式!用Python一键搞定题库排版,省时又美观

别再手动改Word格式!用Python一键搞定题库排版,省时又美观

做开发、做题库整理、做资料归档的朋友,大概率都踩过同一个坑:批量导出/采集的题库,永远是光秃秃的纯文字

没有层级标题、字体大小混乱、重点内容黑乎乎一片、需要配图的题目空空如也……原本几分钟能搞定的事,手动调格式、改颜色、插图片,硬生生耗掉半小时,枯燥又低效。

很多人觉得Python只能写复杂代码、跑数据、做爬虫,其实它的办公自动化能力,才是普通人最值得掌握的刚需技能。

今天就结合我日常采集题库、整理资料的实战经验,跟大家唠唠:怎么用Python批量美化Word文档,一键设置标题、调整字体大小、自定义字体颜色、插入配图,彻底告别重复手动排版。

全程不讲晦涩理论,只讲落地能用的干货,看完直接套用,日常办公、题库整理、资料归档都能用得上。

01 为什么不推荐手动排版Word题库?

平时我们采集完题库内容,导出的Word文档基本都是“毛坯房”状态:

所有文字挤在一起,没有主次之分;所有内容字体统一、颜色统一,重点题目、答案、解析完全分不清;需要配图的题型只能手动插入,还要调整大小、对齐;一旦题库量大,几百上千道题,手动改格式纯属体力活。

更头疼的是:每次新增题库,都要重复一遍一模一样的操作,机械重复、耗时费力,还容易出现格式不统一、漏改、错改的问题,整理出来的文档杂乱不堪。

而用Python处理,核心优势就两个:一次写好规则,永久复用,格式100%统一

不管是几十道还是上万道题库,不管是设置标题、改字体颜色,还是插入配图,运行代码几秒就能完成,解放双手的同时,文档质感直接拉满。

02 Python Word自动化核心:搞定所有排版细节

我们用到的核心工具是 python-docx,一个专门用来操作Word文档的Python库,无需复杂配置,零基础也能上手,完美适配题库整理、文档美化场景。

下面拆解大家日常最常用、最刚需的4个排版操作,全部是实战落地用法,专门针对题库文档优化。

① 智能设置层级标题,区分文档主次

一份规范的题库文档,必须有清晰的层级:文档总标题、章节标题、小节标题、题目正文。手动设置不仅慢,还容易层级混乱。

用Python可以一键区分一级、二级标题,还能自定义标题字体、字号、加粗、居中对齐,让整个题库结构一目了然。

比如题库总标题统一大号加粗居中,章节标题中号醒目,题目小标题常规字号,层级清晰,阅读体验直接翻倍,再也不用手动选中文字设置标题样式。

② 自定义字体大小,告别通篇统一格式

采集的原始题库,默认字体大小全部一致,看着密密麻麻,非常费眼。

我们可以用Python批量定制规则:标题统一大号字体、题目适中字号、答案和解析小一号字体,自动区分层级,不用逐段选中调整。

而且可以精准匹配Word标准字号,比如标题24磅、正文14磅、解析12磅,完美贴合日常办公文档规范,批量处理零误差。

③ 字体颜色差异化标注,重点一眼看清

这是题库整理最实用的功能!纯黑白题库,重点难点、易错答案根本分不清。

用Python可以实现全自动颜色分类标注

题目正文默认黑色,清晰规整;参考答案设置蓝色,醒目不刺眼;易错知识点、重点解析设置红色,重点突出;备注、拓展内容设置灰色,弱化显示。

上千道题库,几秒钟就能完成全文档颜色美化,比手动逐行改色效率高百倍,而且全程格式统一,不会出现深浅不一、颜色错乱的问题。

④ 批量插入图片,自动适配文档格式

很多题型(识图题、场景题、案例题)需要搭配图片,手动插入图片、调整尺寸、居中对齐、适配排版,是最耗时的操作。

Python可以实现图片批量插入+自动适配:根据题目匹配对应图片,自动设置图片固定尺寸、居中对齐,避免图片过大溢出、过小模糊、排版错乱的问题。

哪怕是几百张配图,也能一次性批量导入,完美适配题库排版需求。

04 实战代码分享:一键实现题库全格式美化

不玩虚的!给大家整理了一套极简通用、开箱即用的Python题库排版代码。完美适配上面讲到的所有功能:自定义标题、调整字体大小、字体变色、插入图片。

代码无冗余、无复杂配置,零基础也能直接复制运行,只需要提前安装依赖:pip install python-docx

这套代码专门针对采集题库文档优化,也是我日常自用的排版脚本,可反复复用。

📝 代码
1import os
2from docx import Document
3from docx.shared import Pt, Inches
4from docx.shared import RGBColor
5
6# 十六进制颜色转RGB工具函数
7def hex2rgb(color_hex):
8    “””将#FFFFFF格式十六进制颜色转为Word可用RGB颜色”””
9    color_hex = color_hex.lstrip(‘#’)
10    r = int(color_hex[0:2], 16)
11    g = int(color_hex[2:4], 16)
12    b = int(color_hex[4:6], 16)
13    return RGBColor(r, g, b)
14
15# 通用Word保存封装函数(适配题库所有排版场景)
16def save2Word(fileName, text, isTitle=False, level=1, color=”, image=”, fontSize=”):
17    # 自动创建文件夹,不存在路径则新建
18    dir_path = os.path.dirname(fileName)
19    if not os.path.exists(dir_path):
20        os.makedirs(dir_path)
21
22    # 文件存在则追加内容,不存在则新建文档
23    if os.path.exists(fileName):
24        doc = Document(fileName)
25    else:
26        doc = Document()
27
28    # 优先插入图片(图片段落独立排版)
29    if image != ”:
30        doc.add_picture(image, width=Inches(3))
31    else:
32        # 判断是否为标题(支持多级标题、自定义颜色、字号)
33        if isTitle:
34            h1 = doc.add_heading(text, level)
35            # 自定义标题颜色
36            if color != ”:
37                run_h1 = h1.runs[0]
38                run_h1.font.color.rgb = hex2rgb(color)
39            # 自定义标题字体大小
40            if fontSize != ”:
41                run_h1 = h1.runs[0]
42                run_h1.font.size = Pt(int(fontSize)))
43        # 普通正文段落(题目、答案、解析)
44        else:
45            p = doc.add_paragraph()
46            run = p.add_run(text)
47            # 自定义正文颜色
48            if color != ”:
49                run.font.color.rgb = hex2rgb(color)
50            # 自定义正文字号
51            if fontSize != ”:
52                run.font.size = Pt(int(fontSize)))
53
54    # 保存文档,持续追加内容
55    doc.save(fileName)
56
57# ———————— 题库实战调用示例 ————————
58if __name__ == “__main__”:
59    file_path = “题库整理/Python自动化题库.docx”
60
61    # 1. 添加一级总标题(黑色、24号字体)
62    save2Word(file_path, “Python自动化办公专项题库”, isTitle=True, level=1, color=”#000000″, fontSize=”24″)
63
64    # 2. 添加二级章节标题(深蓝色、18号字体)
65    save2Word(file_path, “第一章 Word自动化基础”, isTitle=True, level=2, color=”#003366″, fontSize=”18″)
66
67    # 3. 添加题目正文(黑色、14号字体)
68    save2Word(file_path, “1、下列Python库可用于批量操作Word文档的是?”, color=”#000000″, fontSize=”14″)
69
70    # 4. 添加答案(蓝色、13号字体)
71    save2Word(file_path, “答案:python-docx库”, color=”#0000FF”, fontSize=”13″)
72
73    # 5. 添加重难点解析(红色、12号字体)
74    save2Word(file_path, “解析:python-docx是Python专属Word办公自动化库,支持字体、颜色、图片、标题批量排版,无需手动操作。”, color=”#FF0000″, fontSize=”12″)
75
76    # 6. 插入题目配图
77    save2Word(file_path, “”, image=”word_demo.png”)
78
79    print(“题库批量排版完成!”)
80
代码核心功能说明

1.万能封装,适配所有场景:单个函数搞定新建文档、追加内容、多级标题、自定义字号、字体变色、插入图片,不用重复写冗余代码;

2.三色字体标注体系:题目黑色、答案蓝色、解析红色,重点一目了然;

3.自动插图适配:插入图片自动压缩适配文档宽度,不会溢出页面;

4.智能路径适配:自动判断文件夹是否存在,不存在自动创建,无需手动建目录,保存路径随心所欲;

5.持续追加不覆盖:重复运行代码只会追加新内容,不会清空原有题库,适合分批采集、持续更新题库;

6.十六进制颜色兼容:支持日常通用色值(#000000黑色、#FF0000红色、#0000FF蓝色),调色更简单直观。

进阶小技巧:我们采集题库时,只需要循环调用 save2Word() 函数,遍历所有题目、答案、配图数据,就能全自动批量生成格式统一、图文并茂的精品题库,上千道题目也能一键搞定!

03 真实实战体验:从“毛坯文档”到“精品题库”

我平时采集各类题库、整理学习资料,全程都是Python自动化处理,真实体验真的太省心了。

之前:采集完题库,花半小时手动调标题、改字体、标颜色、插图片,改完还得反复检查格式,浪费大量时间。

现在:提前写好一套通用排版规则,采集完成后直接运行代码,3秒自动生成规范Word题库。

标题层级清晰、重点颜色区分、图文排版规整,格式统一、美观专业,不管是自己学习使用,还是分享给他人、归档备用,都完全够用。

最关键的是,这套规则可以永久复用。后续不管采集什么类型的题库,只需要替换内容,无需重复调整格式,真正实现“一劳永逸”。

05 写在最后:Python办公,只为解放双手

很多人觉得编程很难、很遥远,但其实办公Python,根本不需要高深技术

我们不用搞复杂算法、不用做项目开发,只需要掌握这些简单的自动化技巧,就能解决日常90%的重复办公问题。

手动改Word格式,看似小事,日积月累会浪费大量宝贵时间。而Python的核心价值,就是帮我们把重复、机械、枯燥的工作交给代码,把时间留给更有价值的学习和创作

如果你经常整理题库、归档资料、处理Word文档,一定要试试这套自动化方法。学会一次,受用很久,彻底告别低效手动排版!

码字不易,干货分享!觉得有用可以点赞收藏,后续持续更新Python办公自动化、题库采集、AI工具实战干货~

推荐阅读