这里批量处理word文档的操作主要是通过python-docx非标准库实现的,通过定位到文档对象、再到段落、最后到一行文本从而完成针对文字对象的处理。
文章图片
【阅读全文】
使用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目录下面,我这里准备了一个文档作为演示处理。
文章图片
下面是处理文本样式的代码块实现部分。
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))
处理完成的效果如下:
文章图片
执行完上述代码块就可以实现我们想要的效果:批量设置word文档样式。
最后,再补充几个工具的使用方式,设置字体颜色时可以参考下面的颜色对照表。
颜色对照表地址:
https://tool.oschina.net/commons?type=3
文章图片
其他字体样式的设置参考下面的代码块
'''
# 加粗
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或其他工具打开,否则会出现找不到文件的报错信息。
文章图片
【往期精选】
python 如何在多层循环中使用break/continue!
用python为心爱的人制作520照片墙,已成功做出效果图!
两个库搞定python中引用javascript代码块/文件...
python实现excel数据与mysql数据库互通有无!
【word文档样式批量处理,久违了】python 实现超快窗口截图,自动获取当前活动窗口并展示截图...
推荐阅读
- python学习|python学习-2-函数的默认参数,可变参数,关键字参数
- Python 可以满足你任何 API 使用需求
- 机器学习|【机器学习】python实现吴恩达机器学习作业合集(含数据集)
- python|为什么自学Python学着学着就放弃了()
- 笔记|利用python处理简历和名单——处理excel & os、shutil处理文件
- python matplotlib绘制函数图形_【总结篇】Python matplotlib之使用统计函数绘制简单图形...
- python|python 语音识别深度学习_用Python实现语音识别的终极指南
- #yyds干货盘点# 7. ?会查新华字典不(会。Python字典已经掌握了)
- #yyds干货盘点#Python - 爬虫_请求伪造