这里批量处理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数据库互通有无!
python 实现超快窗口截图,自动获取当前活动窗口并展示截图...
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
我看到这个错误:translationmissing:da.datetime.distance_in_words.about_x_hours我的语言环境文件:http://pastie.org/2944890我的看法:我已将其添加到我的application.rb中:config.i18n.load_path+=Dir[Rails.root.join('my','locales','*.{rb,yml}').to_s]config.i18n.default_locale=:da如果我删除I18配置,帮助程序会处理英语。更新:我在config/enviorments/devolpment
我有一大串格式化数据(例如JSON),我想使用Psychinruby同时保留格式转储到YAML。基本上,我希望JSON使用literalstyle出现在YAML中:---json:|{"page":1,"results":["item","another"],"total_pages":0}但是,当我使用YAML.dump时,它不使用文字样式。我得到这样的东西:---json:!"{\n\"page\":1,\n\"results\":[\n\"item\",\"another\"\n],\n\"total_pages\":0\n}\n"我如何告诉Psych以想要的样式转储标量?解
我正在为一个项目制作一个简单的shell,我希望像在Bash中一样解析参数字符串。foobar"helloworld"fooz应该变成:["foo","bar","helloworld","fooz"]等等。到目前为止,我一直在使用CSV::parse_line,将列分隔符设置为""和.compact输出。问题是我现在必须选择是要支持单引号还是双引号。CSV不支持超过一个分隔符。Python有一个名为shlex的模块:>>>shlex.split("Test'helloworld'foo")['Test','helloworld','foo']>>>shlex.split('Test"
我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司
matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1
我对图像处理完全陌生。我对JPEG内部是什么以及它是如何工作一无所知。我想知道,是否可以在某处找到执行以下简单操作的ruby代码:打开jpeg文件。遍历每个像素并将其颜色设置为fx绿色。将结果写入另一个文件。我对如何使用ruby-vips库实现这一点特别感兴趣https://github.com/ender672/ruby-vips我的目标-学习如何使用ruby-vips执行基本的图像处理操作(Gamma校正、亮度、色调……)任何指向比“helloworld”更复杂的工作示例的链接——比如ruby-vips的github页面上的链接,我们将不胜感激!如果有ruby-
我有一个super简单的脚本,它几乎包含了FayeWebSocketGitHub页面上用于处理关闭连接的内容:ws=Faye::WebSocket::Client.new(url,nil,:headers=>headers)ws.on:opendo|event|p[:open]#sendpingcommand#sendtestcommand#ws.send({command:'test'}.to_json)endws.on:messagedo|event|#hereistheentrypointfordatacomingfromtheserver.pJSON.parse(event.d
我正在尝试解析网页,但有时会收到404错误。这是我用来获取网页的代码:result=Net::HTTP::getURI.parse(URI.escape(url))如何测试result是否为404错误代码? 最佳答案 像这样重写你的代码:uri=URI.parse(url)result=Net::HTTP.start(uri.host,uri.port){|http|http.get(uri.path)}putsresult.codeputsresult.body这将打印状态码和正文。
Ruby有一些不错的文档生成器,例如Yard、rDoc,甚至Glyph。问题是Sphinx可以做网站、PDF、epub、LaTex等。它在重组文本中完成所有这些事情。在Ruby世界中有替代方案吗?也许是程序的组合?如果我也能使用Markdown就更好了。 最佳答案 自1.0版以来,Sphinx有了“域”的概念,它是从Python和/或C以外的语言标记代码实体(如方法调用、对象、函数等)的方法。有一个rubydomain,所以你可以只使用Sphinx本身。您唯一会缺少的(我认为)是Sphinx使用autodoc从源代码自动创建文档