科技生活指南
柔彩主题三 · 更轻盈的阅读体验

用Python脚本轻松搞定Word文档批量处理

发布时间:2026-01-14 03:01:03 阅读:18 次

在日常办公中,很多人会遇到需要处理大量Word文档的情况。比如公司人事要批量生成员工合同,老师要统一格式化几十份学生报告,或者行政人员要打印上百份通知文件。手动操作不仅费时,还容易出错。其实,用几行Python脚本就能让这些重复工作自动完成。

为什么选择Python操作Word?

Python有个叫python-docx的库,专门用来读写Word文档(.docx格式)。安装简单,功能强大,不需要打开Word软件就能修改内容、调整样式,甚至插入表格和图片。对于经常要打印标准化文档的人来说,简直是效率神器。

比如你有一堆客户信息存在Excel里,现在要为每个人生成一份定制化的服务协议,传统做法是复制粘贴改名字,一上午可能就干这一件事。而用Python脚本,几分钟就能自动生成全部文件,还能统一字体、页边距,确保打印出来整齐划一。

安装与基础使用

先在命令行安装依赖:

pip install python-docx

然后就可以写脚本了。下面是一个最简单的例子:创建一个新文档并写入文字。

from docx import Document

# 创建新文档
doc = Document()
# 添加一段标题
doc.add_heading('服务协议', level=1)
# 添加正文段落
doc.add_paragraph('甲方与乙方达成如下协议:')
# 保存文件
doc.save('service_agreement.docx')

批量替换内容更实用

实际工作中更多是模板替换。假设你有一个“通知模板.docx”,里面写着“尊敬的【姓名】同志”,想把【姓名】替换成真实名字,并保存为独立文件用于打印。

from docx import Document

def replace_text_in_doc(template_path, output_path, old_text, new_text):
    doc = Document(template_path)
    for paragraph in doc.paragraphs:
        if old_text in paragraph.text:
            paragraph.text = paragraph.text.replace(old_text, new_text)
    doc.save(output_path)

# 批量处理多个名字
names = ['张三', '李四', '王五']
for name in names:
    replace_text_in_doc('通知模板.docx', f'通知_{name}.docx', '【姓名】', name)

运行完脚本,就会生成“通知_张三.docx”、“通知_李四.docx”等文件,直接连打印机批量打印就行,省去了一个个手动修改的麻烦。

结合打印场景的小技巧

有些单位的打印机对页边距或纸张大小有固定要求。你可以在脚本里提前设置页面参数,避免打印时错位。

from docx import Document
from docx.shared import Inches

doc = Document()
section = doc.sections[0]
section.page_width = Inches(8.5)  # 设置纸张宽度
section.page_height = Inches(11) # A4尺寸近似
section.left_margin = Inches(1)
section.right_margin = Inches(1)

p = doc.add_paragraph('这份文档已经适配标准打印纸。')
doc.save('ready_to_print.docx')

这样一来,生成的每份文档都符合打印规范,不用再手动调整。特别是需要归档或上报的材料,格式统一显得更专业。

如果你经常要扫描纸质文件再转成电子版打印,也可以先用Python把扫描后的文本识别结果自动填入Word模板,整个流程无缝衔接。技术不是为了炫技,而是让生活和工作少点重复劳动,多点自由时间。