凌晨1点,行政部的小敏还在电脑前对着屏幕叹气——手里堆着100份新员工入职手册,领导要求统一用“微软雅黑、标题小三号加粗、正文小四、段落间距1.5倍”,可现在打开的第37份文档,字体混杂着宋体、楷体,段落缩进更是五花八门。

  “改完这些,天亮都赶不上明天的入职培训了!”她揉着发酸的肩膀,点开第38份文档,鼠标在“字体设置”按钮上反复点击——这是职场人最熟悉的崩溃瞬间:明明是机械重复的工作,却要耗费大量时间,稍不注意还会出错。

  别再手动改Word格式!Python批量统一字体+排版

  但如果你会用Python,这件事根本不用熬夜。今天就教你一个“傻瓜式脚本”,不用懂复杂编程,复制粘贴就能用,100份Word文档的格式统一,5分钟就能搞定。不管你是行政、运营,还是经常处理文档的教师、HR,学会这招,至少能省出2小时下班时间。

一、先搞懂:为什么手动改格式“又慢又容易错”?

  很多人觉得“改格式而已,没什么难的”,但实际操作中,3个痛点能把人逼疯:

  1. 隐藏格式难清理:有些文档复制粘贴时带了网页、PDF的隐藏格式,明明选了“微软雅黑”,却显示“仿宋_GB2312”,反复调整都没用;

  2. 批量操作无入口:Word的“格式刷”只能刷单份文档,100份文档就要打开100次,点击上百次格式刷,手都要抽筋;

  3. 细节遗漏难检查:标题是否加粗、段落间距是否统一、页码格式对不对,手动检查很容易漏,等领导指出错误,又要重新返工。

  我之前帮HR整理面试反馈表时,30份文档改了2小时,最后还是漏了“落款日期右对齐”的要求,被领导退回重改——现在想想,要是早会这招Python,根本不会浪费这些时间。

  别再手动改Word格式!Python批量统一字体+排版二、零基础必看:Python批量改Word格式,3步就能用

  别被“Python”吓到,这个方法不用安装复杂软件,不用学编程语法,只要跟着步骤走,电脑小白也能上手。

  第一步:准备工具(2分钟搞定)

  1. 电脑上安装“Python”(百度搜“Python官网”,下载3.9及以上版本,安装时勾选“Add Python to PATH”,一路点下一步);

  2. 安装“python-docx”库(打开电脑“命令提示符”,复制粘贴这段代码:pip install python-docx,按回车,等待10秒完成安装);

  3. 把要统一格式的100份Word文档,放在一个文件夹里(比如“桌面-待处理文档”),记住文件夹路径(比如“C:\Users\XXX\Desktop\待处理文档”)。

  第二步:复制“傻瓜脚本”,改2个参数就行

  下面这段代码是我整理好的“格式统一脚本”,你不用懂原理,只要改2个地方:

  from docx import Document

  from docx.shared import Inches, Pt

  from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

  from docx.oxml.ns import qn

  import os

  # 这里改2个参数:1. 文档文件夹路径;2. 你要的格式

  doc_folder = "C:\Users\XXX\Desktop\待处理文档" # 第一步记的文件夹路径

  target_font = "微软雅黑" # 要统一的字体

  title_font_size = Pt(16) # 标题字号(小三号≈16磅)

  content_font_size = Pt(12) # 正文字号(小四≈12磅)

  # 遍历文件夹里的所有Word文档

  for filename in os.listdir(doc_folder):

  if filename.endswith(".docx"): # 只处理.docx格式(.doc格式需先转成.docx)

  doc_path = os.path.join(doc_folder, filename)

  doc = Document(doc_path)

  # 1. 统一段落格式(标题+正文)

  for paragraph in doc.paragraphs:

  # 判断是否为标题(这里以“段落开头不含缩进”为标题,可根据需求调整)

  if paragraph.paragraph_format.first_line_indent is None:

  # 标题格式:加粗、居中、指定字体字号

  for run in paragraph.runs:

  run.font.name = target_font

  run.font.size = title_font_size

  run.font.bold = True

  # 解决中文显示乱码问题

  r = run.element.rPr.rFonts

  r.set(qn('w:eastAsia'), target_font)

  paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 标题居中

  paragraph.paragraph_format.space_after = Pt(12) # 标题后间距

  else:

  # 正文格式:指定字体字号、段落间距1.5倍

  for run in paragraph.runs:

  run.font.name = target_font

  run.font.size = content_font_size

  r = run.element.rPr.rFonts

  r.set(qn('w:eastAsia'), target_font)

  paragraph.paragraph_format.line_spacing = 1.5 # 1.5倍行距

  paragraph.paragraph_format.first_line_indent = Inches(0.5) # 首行缩进2字符

  # 2. 统一表格格式(如果文档有表格,也能统一字体)

  for table in doc.tables:

  for row in table.rows:

  for cell in row.cells:

  for paragraph in cell.paragraphs:

  for run in paragraph.runs:

  run.font.name = target_font

  run.font.size = content_font_size

  r = run.element.rPr.rFonts

  r.set(qn('w:eastAsia'), target_font)

  # 保存修改后的文档(在原文件名后加“_已统一”,避免覆盖原文件)

  new_filename = os.path.splitext(filename)[0] + "_已统一.docx"

  new_doc_path = os.path.join(doc_folder, new_filename)

  doc.save(new_doc_path)

  print(f"{filename} 格式统一完成!")

  print("所有文档处理完毕!")

  需要改的2个参数:

  1. doc_folder:把引号里的路径,换成你放Word文档的文件夹路径(比如你的文件夹在桌面,路径就是“C:\Users\你的电脑用户名\Desktop\待处理文档”);

  2. 格式参数:如果领导要“宋体、标题四号”,就把target_font改成“宋体”,title_font_size改成Pt(14)(四号≈14磅),其他不用动。

  第三步:运行脚本,坐等完成

  1. 把改好参数的代码,复制到“记事本”里,点击“文件-另存为”,文件名改成“格式统一.py”,保存类型选“所有文件”,编码选“UTF-8”;

  2. 把这个“格式统一.py”文件,放到你放Word文档的文件夹里;

  3. 双击打开“格式统一.py”,会弹出一个黑色窗口,等窗口消失,打开文件夹——你会看到多了100个“XXX_已统一.docx”的文件,打开任意一个,字体、排版都一模一样!

三、进阶技巧:根据需求调整格式,1个脚本应对所有场景

  上面的脚本是“通用版”,但职场中遇到的格式要求千差万别,教你3个常用调整技巧,不用再找别人改代码:

  场景1:文档有多级标题(比如“1. 入职须知”“1.1 考勤制度”)

  如果你的文档有一级标题、二级标题,只要在脚本里加一段“判断标题级别”的代码:

  # 在“统一段落格式”部分,替换成这段代码

  for paragraph in doc.paragraphs:

  # 一级标题(以“1.”“2.”开头)

  if paragraph.text.startswith(("1.", "2.", "3.", "4.", "5.")):

  for run in paragraph.runs:

  run.font.name = target_font

  run.font.size = Pt(16) # 一级标题小三号

  run.font.bold = True

  r.set(qn('w:eastAsia'), target_font)

  paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER

  # 二级标题(以“1.1”“1.2”开头)

  elif paragraph.text.startswith(("1.1", "1.2", "2.1", "2.2")):

  for run in paragraph.runs:

  run.font.name = target_font

  run.font.size = Pt(14) # 二级标题四号

  run.font.bold = True

  r.set(qn('w:eastAsia'), target_font)

  # 正文

  else:

  # 正文格式不变,和之前一样

  场景2:需要统一页码格式(比如“页码在页脚居中,格式为‘第X页 共Y页’”)

  在脚本末尾,加一段“统一页码”的代码:

  # 统一页码格式(在“保存修改后的文档”之前加)

  from docx.enum.text import WD_PAGE_NUMBER

  from docx.shared import Inches

  # 获取文档所有节

  for section in doc.sections:

  # 设置页脚

  footer = section.footer

  footer_paragraph = footer.paragraphs[0]

  footer_paragraph.text = "" # 清空原有页脚

  # 添加“第X页 共Y页”

  page_num_run = footer_paragraph.add_run()

  page_num_run.add_field('PAGE') # 当前页码

  footer_paragraph.add_run(' 页 共 ')

  total_page_run = footer_paragraph.add_run()

  total_page_run.add_field('SECTIONPAGES') # 总页数

  footer_paragraph.add_run(' 页')

  # 页脚格式:居中、微软雅黑、小五号

  footer_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER

  for run in footer_paragraph.runs:

  run.font.name = target_font

  run.font.size = Pt(10.5) # 小五号≈10.5磅

  r = run.element.rPr.rFonts

  r.set(qn('w:eastAsia'), target_font)

  场景3:处理.doc格式的旧文档(很多公司还在用)

  Word的.doc格式不能直接用上面的脚本,教你一个“批量转格式”的方法:

  1. 打开一个空白Word文档,点击“文件-选项-信任中心-信任中心设置-宏设置”,勾选“启用所有宏”,确定;

  2. 按“Alt+F11”打开VBA编辑器,插入一个新模块,复制粘贴这段VBA代码:

  Sub DocToDocx()

  Dim strPath As String

  Dim strFile As String

  strPath = "C:\Users\XXX\Desktop\待处理文档" ' 你的文档路径

  strFile = Dir(strPath & "\*.doc")

  Do While strFile <> ""

  Documents.Open Filename:=strPath & "\" & strFile

  ActiveDocument.SaveAs2 Filename:=strPath & "\" & Replace(strFile, ".doc", ".docx"), FileFormat:=wdFormatDocumentDefault

  ActiveDocument.Close

  strFile = Dir

  Loop

  MsgBox "转换完成!"

  End Sub

  3. 点击“运行”按钮,等待弹窗提示“转换完成”,所有.doc文档就会变成.docx格式,再用之前的Python脚本处理。

  别再手动改Word格式!Python批量统一字体+排版四、最后说句实在话:职场里“少做重复活”,才是拉开差距的关键

  很多人觉得“改格式、整理文档是小事,没必要学Python”,但你有没有想过:

   同样是处理100份文档,别人熬夜手动改,你用Python5分钟搞定,剩下的时间可以学新技能、写工作总结,甚至准点下班陪家人;

   领导需要紧急整理会议纪要时,别人还在复制粘贴,你用Python自动提取关键词+排版,很快交出成果,谁更受重视?

   现在职场竞争这么激烈,失业的人大多是“只会做重复活”的人,而能“用工具提高效率”的人,永远有不可替代的价值。

  我把今天的Python脚本整理成了“压缩包”,包含脚本文件、操作截图、常见问题解答,你不用手动敲代码,解压就能用。如果需要的话,可以评论区扣“格式统一”,我把下载链接发给你——职场拼的不是体力,是效率,学会用工具帮自己减负,才是最聪明的做法。

  别再手动改Word格式!Python批量统一字体+排版

  不知道你平时最头疼的重复工作是什么?是整理Excel、做PPT,还是统计数据?评论区说说,下次我教你用Python解决!#职场干货##职场微头条##每天学python##工作赚钱重要,还是身体健康重要#

  本文标题:别再手动改Word格式!Python批量统一字体+排版

  本文链接:http://www.hniuzsjy.cn/hangye/41025.html