脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python实现Word文档样式批量处理

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

2023-02-22 12:11Python 集中营 Python

这篇文章主要为大家详细介绍了如何利用Python中的python-docx非标准库实现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或其他工具打开,否则会出现找不到文件的报错信息。

到此这篇关于Python实现Word文档样式批量处理的文章就介绍到这了,更多相关Python Word样式处理内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/lwsbc/p/16328219.html

延伸 · 阅读

精彩推荐
  • Pythonpython中pandas输出完整、对齐的表格的方法

    python中pandas输出完整、对齐的表格的方法

    今天使用python计算数据相关性,但是发现计算出的表格中间好多省略号,而且也不对齐。怎么解决这个问题,下面小编给大家带来了python中pandas如何输出完...

    wulei_110710337211572022-02-21
  • Pythonpython绘制高斯曲线

    python绘制高斯曲线

    这篇文章主要为大家详细介绍了python绘制高斯曲线,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    一个超会写Bug的安太狼10102021-09-06
  • PythonPython对象的底层实现源码学习

    Python对象的底层实现源码学习

    这篇文章主要为大家介绍了Python对象的底层实现源码学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    Blanker_7114312023-02-07
  • Pythondjango通过ajax发起请求返回JSON格式数据的方法

    django通过ajax发起请求返回JSON格式数据的方法

    这篇文章主要介绍了django通过ajax发起请求返回JSON格式数据的方法,较为详细的分析了django处理ajax请求的技巧,需要的朋友可以参考下...

    疯狂一夏8022020-07-12
  • PythonPython 中字符串拼接的多种方法

    Python 中字符串拼接的多种方法

    本篇文章给大家介绍python中字符串拼接的多种方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧...

    木头释然7502021-03-24
  • Pythonpython3+opencv3识别图片中的物体并截取的方法

    python3+opencv3识别图片中的物体并截取的方法

    今天小编就为大家分享一篇python3+opencv3识别图片中的物体并截取的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    VignyMy12242021-04-25
  • Pythonpython映射列表实例分析

    python映射列表实例分析

    这篇文章主要介绍了python映射列表,实例分析了python映射列表遍历计算其中每一个元素的使用技巧,需要的朋友可以参考下 ...

    脚本之家5632020-05-20
  • Python解析Python编程中的包结构

    解析Python编程中的包结构

    这篇文章主要介绍了解析Python编程中的包结构,包括对一些包管理工具的介绍,需要的朋友可以参考下...

    ZrongZrong5142020-08-01