当前位置: 首页 > 后端技术 > Python

Word文档样式的批处理,好久不见

时间:2023-03-26 11:49:07 Python

这里对word文档的批处理操作主要是通过python-docx非标准库实现的,通过定位文档对象,然后到段落,最后到一行的文本来完成文本对象的处理。[阅读全文]使用pip安装python-docxpipinstallpython-docx导入实现过程中需要的模块fromdocximportDocument#文档处理对象fromdocx.sharedimportRGBColor,Pt,Cm#文本样式处理importos#应用程序/文件处理importglob#文件处理定义了要处理的文件的路径和生成的目标文件的路径source_file='C:/source'#源文件路径target_file='C:/target'#目标文件path将需要批处理样式的word文档放在source目录下,我这里准备了一个文档作为演示。下面是处理文本样式的代码块实现。forcurrent_fileinglob.glob(source_file+'/*.docx'):#遍历word文档文件word_obj=Document(current_file)#初始化word对象forparainword_obj.paragraphs:#遍历当前文档段落forruninpara.runs:#遍历当前段落的文本块if'Python'inrun.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其他字体样式设置参考下面代码块'''#Boldfont.bold=True#Italicfont.italic=True#Underlinefont.underline=True#Strikethroughfont.strike=True#Fontsizefont.size=Pt(20)#Shadowfont.shadow=True'''使用时直接在文本块中调用即可。在上面的文本处理中,我们使用了下划线设置。run.font.underline=True#添加下划线例如:如果需要添加阴影,直接在当前对应的文本块中做类似的处理。run.font.shadow=True最后要注意的一点是在处理过程中不要用wps或者其他工具打开word文档,否则会出现找不到文件的错误信息。[往期精选]python如何在多层循环中使用break/continue!使用python为心爱之人制作520照片墙,效果图制作成功!两个库处理python中javascript代码块/文件的引用...python是否实现excel数据与mysql数据库的互通!Python实现超快窗口截图,自动获取当前活动窗口并显示截图...