首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 批量调整 Word 样式

 前言 

OK了老铁们,不管是初入社会的牛马还是当了多年牛马的你,一定会有需要批量修改,数据处理等等日常办公繁琐又简单的重复劳动,这种情况在AI发展的今天就要学会偷懒,而我呢也是通过AI学习并且整理了一系列日常办公且常用的偷懒处理,帮助广大牛马人更好的偷懒。

场景重现

想象一下,你收到了几十份甚至上百份格式各异的 Word 文档,要求你将它们的标题字体统一为宋体、二号字,正文为宋体、小四号字,段落行距设为 1.5 倍。要是手动操作,这得花费多少时间和精力!而使用 Python 编写一个简单的脚本,就能在几分钟内完成所有文档的样式调整,是不是超级方便?

要实现 Python 批量调整 Word 样式,我们主要借助python - docx库。这个库可以帮助我们轻松地读取和修改 Word 文档的内容和样式。首先,我们需要遍历指定文件夹下的所有 Word 文档,然后打开每个文档,找到对应的段落或文本块,对其应用我们想要的样式。

import os

from docx import Document

from docx.shared import Pt

from docx.enum.style import WD_STYLE_TYPE

def adjust_heading_style():

  folder_path = 'your_folder_path'  # 请将此处替换为实际存放Word文档的文件夹路径

  for filename in os.listdir(folder_path):

      if filename.endswith('.docx'):

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

          doc = Document(doc_path)

          # 遍历所有样式

          for style in doc.styles:

              if style.type == WD_STYLE_TYPE.PARAGRAPH and style.name == 'Heading 1':

                  style.font.name = '宋体'

                  style.font.size = Pt(16)

                  style.paragraph_format.line_spacing = 1.5

          doc.save(doc_path)

if __name__ == '__main__':

  adjust_heading_style()

在这段代码中,我们首先指定了存放 Word 文档的文件夹路径。然后遍历文件夹中的所有文件,筛选出 Word 文档并打开。接着,找到名为 “Heading 1” 的段落样式,对其字体、字号和段落行距进行调整,最后保存修改后的文档。

网址

官网:https://python-docx.readthedocs.io/en/latest/

PyPI:https://pypi.org/project/python-docx/

主要功能

创建文档:能创建全新的Word文档,如document = Document()就可创建一个空白文档,随后可向其中添加各种内容,像标题、段落、图片、表格等.

读取文档:可读取已有的.docx格式Word文档,将文档内容解析为可操作的对象,便于获取和修改文档中的文字、样式等信息.

修改文档:支持修改文档中的文本内容、字体格式、段落格式等,还能对文档中的表格、图片等元素进行编辑和调整,从而实现对Word文档的全面修改和定制.

主要语法

打开文档:使用Document()函数,如document = Document('your_file.docx')可打开指定的Word文档,若不指定路径则创建新文档.

添加标题:通过add_heading()方法添加标题,如document.add_heading('标题文本', level=1),其中level表示标题级别,0为文档标题,1-9对应不同级别的标题.

添加段落:利用add_paragraph()方法添加段落,如document.add_paragraph('段落文本'),还可通过add_run()方法在段落中追加内容并设置样式.

设置段落格式:通过段落对象的paragraph_format属性来设置,如style.paragraph_format.line_spacing = 1.5可设置段落行距.

添加图片和表格:使用add_picture()方法添加图片,如document.add_picture('image.jpg', width=Inches(2));使用add_table()方法添加表格,如table = document.add_table(rows=3, cols=3).

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OLJnnFSJ5hv2jyIzLEE0fbgA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券