【技术类-05】python实现docx段落文字加粗(Win32)

背景需求:

【技术类-04】python实现docx表格文字和段落文字的“手动换行符(软回车)”变成“段落标记(硬回车)”-CSDN博客文章浏览阅读1k次,点赞10次,收藏10次。【技术类-04】python实现docx表格文字和段落文字的“手动换行符(软回车)”变成“段落标记(硬回车)”https://blog.csdn.net/reasonsummer/article/details/136763487?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22136763487%22%2C%22source%22%3A%22reasonsummer%22%7D

设计思路根据这位作者的利用Win32模块替换docx表格内文字加粗的方法,实现了段落文字加粗,不改变原格式。

Python:用【Win32】模块,结合Word通配符替换,将Word文档表格的部分内容替换为加粗_pywin32 word 查找加粗-CSDN博客文章浏览阅读600次。在Python中,如果需要对所有表格的某一部分进行修改,可以用【Win32】模块。文章主要说明如何结合Word通配符替换,将Word文档表格的冒号(含)之前的内容替换为加粗。_pywin32 word 查找加粗https://blog.csdn.net/qq_64613735/article/details/125552847素材准备:

所有的“中国人”加粗

'''
标题:测试docx段落文字中“中国人”加粗,不改变原来格式
作者:「VBA-守候」、阿夏:
时间:2024年3月19日 19:55
'''

from win32com.client.gencache import EnsureDispatch
from win32com.client import constants # 导入枚举常数模块
 
print('-----第2步:提取word路径-----')

path=r'C:\Users\jg2yXRZ\OneDrive\桌面\加粗\123.docx'
new=r'C:\Users\jg2yXRZ\OneDrive\桌面\加粗\234.docx'
print('------第3步:每一份word替换----')

#————————————————
# 版权声明:本文为CSDN博主「VBA-守候」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
# 原文链接:https://blog.csdn.net/qq_64613735/article/details/125552847
# 部分参数修改

   
    
wdApp = EnsureDispatch("Word.Application")
# aDoc = wdApp.ActiveDocument # aDoc为当前文件
# wdApp.Visible = False # 程序设置为不可见
aDoc = wdApp.Documents.Open(path) # 打开已经存在的文件
old_word='中国人'
new_word=old_word
i = 0 
# 文档里有多个几个表格
for ta in aDoc.Paragraphs: # 遍历表格,如果无需遍历,直接将ta指定为某个表格即可,如这样指定为第一个表格:ta = aDoc.Tables(1)
    # f为每个表格区域查找
    f = ta.Range.Find

    # 查找框参数
    f.ClearFormatting() # 清除原有格式
    f.Forward = True # 向前查找
    f.Format = True # 查找格式
    f.Wrap = constants.wdFindStop # 查找完成即停止
    f.MatchWildcards = True # 使用通配符,根据需要设置
    # f.Text = '[!^13^l::]{1,}[::]' # 查找的内容  冒号前面的 [!^13^l::]    1代表z只要替换一次,[::]代表冒号。冒号前面包括冒号需要改成加粗
    # f.Text = '[{}]{2,}'.format(old_word) # 查找的内容  2代表2个字小结,如果1 ,就会吧“小”开头的字全部替换为小结加粗,,提问会变成两次重点提问.但是这种写法无法用format,
    for w in range(len(old_word)):
        f.Text = '{}'.format(old_word[w]) # 旧内容重点提问

        # 替换框参数
        f.Replacement.ClearFormatting() # 清除原有格式
        # f.Replacement.Text = '^&' # 替换框内容
        f.Replacement.Text = '{}'.format(new_word[w]) # 替换框内容
        f.Replacement.Font.Bold = True # 替换文本设置为加粗
        f.Execute(Replace=constants.wdReplaceAll) # 执行,查找全部
    i += 1

aDoc.SaveAs(new) # 保存并关闭文件,根据需要设置
aDoc.Close() # 保存并关闭文件,根据需要设置

print(f'完成,共替换了{i}个表格')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/483308.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL表内容的增删查改

在前面几章的内容中我们学习了数据库的增删查改,表的增删查改,这一篇我们来学习一下对表中的内容做增删查改。 CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) 1.创建Create 我们先创建…

Zabbix Web界面中文汉化

要想达到上图的效果,第一步先查看 /usr/share/zabbix/assets/fonts/ [rootservice yum.repos.d]# ll /usr/share/zabbix/assets/fonts/ 总用量 0 lrwxrwxrwx. 1 root root 33 3月 23 16:58 graphfont.ttf -> /etc/alternatives/zabbix-web-font 继续查看graph…

前端调用接口地址跨越问题,nginx配置处理

在nginx配置里面添加add_header如下: add_header Access-Control-Allow-Origin *; #add_header Access-Control-Allow-Origin http://localhost:8080 always; add_header Access-Control-Allow-Methods GET, POST, PUT, D…

C++命名空间和内联函数

目录 命名空间 内联函数 概述 特性: 命名空间 在C/C中,变量,函数和和类这些名称都存在于全局作用域中,可能会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,避免命名冲突或名字污染&…

对话Midjourney创始人:图片仅是起步,人工智能将全面改变学习、创意和组织。

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 ​ 发布在https://it.weoknow.com 关注我 Midjourney 是一家神奇的公司,11 人改变世界,创造伟大的产品。…

Pycharm小妙招之Anaconda离线配环境

Pycharm小妙招之Anaconda离线配环境———如何给无法联网的电脑配python环境? 1. 预备工作2. 电脑1导出包2.1 环境路径2.2 压缩py38导出至U盘 3. 电脑2导入包4. 验证是否导入成功4.1 conda查看是否导入4.2 pycharm查看能否使用 1. 预备工作 WINDOWS系统电脑1(在线)…

CICD流水线(ali)

后端CICD 一、打开云效流水线,创建流水线

Express:快速搭建Node.js应用的基石

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

局域网内的手机、平板、电脑的文件共享

在日常工作生活中,经常需要将文件在手机、平板、电脑间传输,以下介绍三种较为便捷的方法: 1.LocalSend 该软件是免费开源的,可以在局域网内的任意手机、平板、电脑间传递文件,并且任意一方都可以作为“发送方”和“接…

FDM3D打印系列——美纹纸遮挡喷漆

大家好,我是阿赵。   自从上次尝试了水补土和喷漆,发现效果不错之后,我就接着进行第二次的尝试了。   这次打印的模型是这个拳皇里面的卢卡尔,别看拍照好像很高大,其实这个模型很小的,只有10cm左右的高…

ClickHouse部署安装

准备工作 确定防火墙处于关闭状态 CentOS取消打开文件数限制 在hadoop102的 /etc/security/limits.conf文件的末尾加入以下内容 注意:以下操作会修改 Linux 系统配置,如果操作不当可能导致虚拟机无法启动,建议在执行以下操作之前给…

Kafka总结问题

Kafka Kafka Kafka Kafka的核心概念/ 结构 topoic Topic 被称为主题,在 kafka 中,使用一个类别属性来划分消息的所属类,划分消息的这个类称为 topic。topic 相当于消息的分配标签,是一个逻辑概念。主题好比是数据库的表&#xff0…

React系列 之 React进阶 含源码解读 (一)事件合成、state原理

资料来源:掘金课程 https://juejin.cn/book/6945998773818490884?enter_fromcourse_center&utm_sourcecourse_center 记录一些笔记 事件合成 React的事件其实是React重新实现的一套事件系统。目标是统一管理事件,提供一种跨浏览器一致性的事件处…

【LabVIEW FPGA入门】FPGA 存储器(Memory)

可以使用内存项将数据存储在FPGA块内存中。内存项以2kb为倍数引用FPGA目标上的块内存。每个内存项引用一个单独的地址或地址块,您可以使用内存项访问FPGA上的所有可用内存。如果需要随机访问存储的数据,请使用内存项。 内存项不消耗FPGA上的逻辑资源&…

Unity 中 苹果眼镜开发入口

1. 文档介绍了Unity对Apple新操作系统visionOS的支持。 2. Unity提供了完善的文档、模板和支持,帮助开发者快速为visionOS开发应用。 3. Unity的跨平台框架AR Foundation和XR Interaction Toolkit可以帮助现有移动和XR应用无缝迁移到visionOS。 4. 在visionOS上,可以利用Uni…

Linux:Jenkins全自动持续集成持续部署(3)

在上一章部署好了之后,还需要点击一下才能进行部署,本章的效果是:当gitlab上的代码发生了变化后,我们不需要做任何事情不需要去点击构建按钮,Jenkins直接自动检测变化,然后自动去集成部署Linux:…

vue 修改element-plus主题色

一、安装SCSS npm install sass --save-dev npm install sass-loader --save-dev npm install node-sass --save-dev npm install vue-style-loader --sava-dev 二、添加主题文件theme.scss forward "element-plus/theme-chalk/src/common/var.scss" with ($col…

autodl数据集下载及裁剪子图像操作

一、autodl数据集下载 里面数据集可以直接使用 一般是先用无卡模式对数据集进行解压,然后移动文件夹到指定位置 1.解压操作如下 unzip 压缩包路径 -d 解压文件夹 2.移动操作如下 mv 移动前文件夹 移动后文件夹 3.移动文件夹内的文件 以下命令将当前目录下名为sourc…

RabbitMq高可用

消息队列高级 服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.2.消息持久化1.3.消费者消息确认1.4.消费失败重试机制1.5.总结 2.死信交换机2.1.初识死信交换机2.2.TTL2.3.延迟队列 3.惰性队列3.1.消息堆积问题3.2.惰性队列 4.MQ集群4.1.集群分类4.2.普通集群4.3.镜像集群…

矩阵计算-线性系统和 LU 分解

一、三角系统 …… 二、高斯消元法 …… 三、LU分解--直接三角分解法 求解线性方程Axb: 参考视频:【数值分析】矩阵LU三角分解| 速成讲解 考试宝典_哔哩哔哩_bilibili 令ALU,其中L是单位下三角矩阵(对角线上元素都是1&#xff…
最新文章