网络编程
位置:首页>> 网络编程>> Python编程>> Python实现Word文档样式批量处理

Python实现Word文档样式批量处理

作者:Python?集中营  发布时间:2022-01-13 01:16:05 

标签:Python,Word,样式,处理

这里批量处理word文档的操作主要是通过python-docx非标准库实现的,通过定位到文档对象、再到段落、最后到一行文本从而完成针对文字对象的处理。

Python实现Word文档样式批量处理

使用pip的方式安装python-docx

pip install python-docx

将实现过程中需要的模块导入进来

from docx import Document  # 文档处理对象
from docx.shared import RGBColor, Pt, Cm  # 文本样式处理
import os  # 应用/文件处理
import glob  # 文件处理

定义需要处理的文件路径及生成的目标文件的路径

source_file = 'C:/source'  # 来源文件路径
target_file = 'C:/target'  # 目标文件路径

将需要批量处理样式的word文档放到source目录下面,我这里准备了一个文档作为演示处理。

Python实现Word文档样式批量处理

下面是处理文本样式的代码块实现部分。

for current_file in glob.glob(source_file + '/*.docx'):  # 遍历word文档文件
   word_obj = Document(current_file)  # 初始化word对象
   for para in word_obj.paragraphs:  # 遍历当前文档段落
       for run in para.runs:  # 遍历当前段落的文本块
           if 'Python' in run.text: # 判断当前文本块是否包含Python字符串
               run.font.underline = True  # 加上下划线
               run.font.color.rgb = RGBColor(255, 0, 0)  # 设置字体颜色为红色
   word_obj.save(target_file + '/' + os.path.basename(current_file))

处理完成的效果如下:

Python实现Word文档样式批量处理

执行完上述代码块就可以实现我们想要的效果:批量设置word文档样式。

最后,再补充几个工具的使用方式,设置字体颜色时可以参考下面的颜色对照表。

颜色对照表地址

Python实现Word文档样式批量处理

其他字体样式的设置参考下面的代码块

'''
# 加粗
font.bold = True
# 斜体
font.italic = True
# 下划线
font.underline = True
# 删除线
font.strike = True
# 字号
font.size = Pt(20)
# 阴影
font.shadow = True
'''

使用时,直接在文本块中调用即可。在上面的文本处理中我们使用的是加下划线设置。

run.font.underline = True  # 加上下划线

比如:若是需要添加阴影则直接在当前对应的文本块中进行类似的处理。

run.font.shadow = True

最后,需要注意的一点是在执行处理时不要将word文档使用wps或其他工具打开,否则会出现找不到文件的报错信息。

来源:https://www.cnblogs.com/lwsbc/p/16328219.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com