【办公类-21-09】三级育婴师 视频转文字docx(等线小五单倍行距),批量改成“宋体小四、1.5倍行距、蓝色字体”
作品展示:
背景需求:
一、视频处理
1、育婴师培训的现场视频
2、下载视频,将视频换成考题名称
二、音频
视频用格式工厂转成MP3音频
3、转文字doc
把音频放入“网易云见外工作台”转换为“文字"
等待5分钟,音频文字会被写成文字doc
音频转文本完成了
都是doc格式的
我想把里面的字体改成“宋体 小四、1.5倍行距,蓝色字体”
是否可以利用Python,把三份内容doc内容批量改成蓝色效果 呢
第一步:doc转docx(doc有时不能读写)
三份文件放在“”123文件夹”
import os
from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.enum.text import WD_COLOR_INDEX
import win32com.client# doc 转 docxfolder_path = r'D:\04三级操作题\123' # 替换为你的文件夹路径# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):if file_name.endswith(".doc"):file_path = os.path.join(folder_path, file_name)# 创建Word应用程序对象word_app = win32com.client.Dispatch("Word.Application")# 打开原始的.doc文件doc = word_app.Documents.Open(file_path)# 将文件另存为.docx格式docx_file_path = os.path.splitext(file_path)[0] + ".docx"doc.SaveAs(docx_file_path, 12) # 使用参数12表示将文件另存为.docx格式# 关闭原始的.doc文件doc.Close()# 删除原始的.doc文件os.remove(file_path)# 退出Word应用程序word_app.Quit()
在原文件夹里,直接从doc变成docx——还是黑色字体
第二步:读取docx黑色文字,改成宋体小四、1.5倍行距、蓝色字体
import os
from docx import Document
from docx.shared import Pt
from docx.shared import RGBColor
from docx.oxml.ns import qn
from docx.oxml import OxmlElementdef set_run_font(run, font_name, font_size, font_color):r = run._elementrPr = r.get_or_add_rPr()if font_name:rFonts = OxmlElement('w:rFonts')rFonts.set(qn('w:ascii'), font_name)rFonts.set(qn('w:eastAsia'), font_name)rPr.append(rFonts)if font_size:sz = OxmlElement('w:sz')sz.set(qn('w:val'), str(font_size * 2))rPr.append(sz)if font_color:color = OxmlElement('w:color')color.set(qn('w:val'), font_color)rPr.append(color)# 一级文件夹路径
folder_path = r'D:\04三级操作题\123' # 替换为你的文件夹路径# 遍历文件夹内的所有文件
for file_name in os.listdir(folder_path):if file_name.endswith('.docx'):# 打开 Word 文档doc_path = os.path.join(folder_path, file_name)doc = Document(doc_path)# 遍历文档中的段落和文字for para in doc.paragraphs:for run in para.runs:# 修改文字属性为宋体、小四、1.5倍行距、蓝色字体set_run_font(run, '宋体', 12, '0000FF')para.paragraph_format.line_spacing = 1.5 # para.paragraph_format.line_spacing_rule = WD_LINE_SPACING.ONE_POINT_FIVE# 保存修改后的文档modified_doc_path = os.path.join(folder_path, file_name)doc.save(modified_doc_path)print(f'{file_name} 文档文字样式修改完成')print('所有文档处理完成')
运用Python快速将三篇docx的文字替换成其他字体和颜色,不用一篇篇手动更改字体、行距、颜色!(* ̄︶ ̄)
为什么要改成蓝色字体呢
因为操作题中语言说的部分很多,所以先把所有的导师说的话当成设置成蓝色字体,然后再观看视频,补充红色文字的动作。
还有一个美中不足的地方
第三步:文件名称里面的“+”替换成“空”
print('---------第3步:文件名中的“+”改成“ ”---------')
import osfolder_path = r'D:\04三级操作题\123' # 替换为你的文件夹路径# 遍历文件夹内的所有文件
for file_name in os.listdir(folder_path):if file_name.endswith('.docx'):new_file_name = file_name.replace('+', ' ') # 将加号替换为空格os.rename(os.path.join(folder_path, file_name), os.path.join(folder_path, new_file_name))print(f'{file_name} 重命名为 {new_file_name}')print('所有文件名替换完成')
第四步:哪一种蓝色?
之前7篇都是用'0070CO'浅蓝色,所以这里也改成浅蓝色
完整代码
'''
目的:制作蓝色字体的育婴师操作步骤说明
1、育婴师三级,视频转音频,上传网易云见外
2、网易云见外下载的doc转docx
3、docx批量转换成蓝色字体格式——宋体小四、1.5倍行距、蓝色字体
4、docx文件名不能有+,转为空格
作者:AI对话大师 、阿夏
时间:2024年3月7日
'''import os,time
from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.enum.text import WD_COLOR_INDEX
import win32com.clientprint('---------第1步:doc 转 docx---------')folder_path = r'D:\04三级操作题\123' # 替换为你的文件夹路径# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):if file_name.endswith(".doc"):file_path = os.path.join(folder_path, file_name)# 创建Word应用程序对象word_app = win32com.client.Dispatch("Word.Application")# 打开原始的.doc文件doc = word_app.Documents.Open(file_path)# 将文件另存为.docx格式docx_file_path = os.path.splitext(file_path)[0] + ".docx"doc.SaveAs(docx_file_path, 12) # 使用参数12表示将文件另存为.docx格式# 关闭原始的.doc文件doc.Close()# 删除原始的.doc文件os.remove(file_path)# 退出Word应用程序word_app.Quit()time.sleep(2)print('---------第2步:黑色字体 转 蓝色字体---------')
import os
from docx import Document
from docx.shared import Pt
from docx.shared import RGBColor
from docx.oxml.ns import qn
from docx.oxml import OxmlElementdef set_run_font(run, font_name, font_size, font_color):r = run._elementrPr = r.get_or_add_rPr()if font_name:rFonts = OxmlElement('w:rFonts')rFonts.set(qn('w:ascii'), font_name)rFonts.set(qn('w:eastAsia'), font_name)rPr.append(rFonts)if font_size:sz = OxmlElement('w:sz')sz.set(qn('w:val'), str(font_size * 2))rPr.append(sz)if font_color:color = OxmlElement('w:color')color.set(qn('w:val'), font_color)rPr.append(color)# 一级文件夹路径
folder_path = r'D:\04三级操作题\123' # 替换为你的文件夹路径# 遍历文件夹内的所有文件
for file_name in os.listdir(folder_path):if file_name.endswith('.docx'):# 打开 Word 文档doc_path = os.path.join(folder_path, file_name)doc = Document(doc_path)# 遍历文档中的段落和文字for para in doc.paragraphs:for run in para.runs:# 修改文字属性为宋体、小四、1.5倍行距、蓝色字体# set_run_font(run, '宋体', 12, '0000FF')set_run_font(run, '宋体', 12, '0070C0')para.paragraph_format.line_spacing = 1.5 # para.paragraph_format.line_spacing_rule = WD_LINE_SPACING.ONE_POINT_FIVE# 保存修改后的文档modified_doc_path = os.path.join(folder_path, file_name)doc.save(modified_doc_path)print(f'{file_name} 文档文字样式修改完成')print('所有文档处理完成')time.sleep(2)print('---------第3步:文件名中的“+”改成“ ”---------')
import osfolder_path = r'D:\04三级操作题\123' # 替换为你的文件夹路径# 遍历文件夹内的所有文件
for file_name in os.listdir(folder_path):if file_name.endswith('.docx'):new_file_name = file_name.replace('+', ' ') # 将加号替换为空格os.rename(os.path.join(folder_path, file_name), os.path.join(folder_path, new_file_name))print(f'{file_name} 重命名为 {new_file_name}')print('所有文件名替换完成')
感悟:
1、育婴师每次培训3篇内容,其实手动改格式也很快的,但是能用Python批量解决的,我就不想人工去重复操作了。
2、目前我发现:用讯飞录音笔可以用个讯飞听见转成文字(专家指导录音),但如果手机拍摄的视频,就不能用讯飞听见转成文字。因此要用到“网易云见外工作台”。
工作中会经常用到“网易云见外”转录视频,因此通过这个代码去修正文字的格式,比较实用。
相关文章:

【办公类-21-09】三级育婴师 视频转文字docx(等线小五单倍行距),批量改成“宋体小四、1.5倍行距、蓝色字体”
作品展示: 背景需求: 一、视频处理 1、育婴师培训的现场视频 2、下载视频,将视频换成考题名称 二、音频 视频用格式工厂转成MP3音频 3、转文字doc 把音频放入“网易云见外工作台”转换为“文字" 等待5分钟,音频文字会被写…...

Unity DropDown 组件 详解
Unity版本 2022.3.13f1 Dropdown下拉菜单可以快速创建大量选项 一、 Dropwon属性详解 属性:功能:Interactable此组件是否接受输入?请参阅 Interactable。Transition确定控件以何种方式对用户操作进行可视化响应的属性。请参阅过渡选项。Nav…...

Spring AOP常见面试题
目录 一、对于AOP的理解 二、Spring是如何实现AOP的 1、execution表达式 2、annotation 3、基于Spring API,通过xml配置的方式。 4、基于代理实现 三、Spring AOP的实现原理 四、Spring是如何选择使用哪种动态代理 1、Spring Framework 2、Spring Boot 五…...
Java学习笔记14——常量与变量
曾和儿子分享过所谓计算机程序,都是编写代码进行“数据处理和处理数据”而已。任何编程语言编写何种应用,数据都必须以某种方式表示。掌握变量和常量的用法,可以使代码的可维护性、可读性大大提高。 一、常量 常量就是在程序中固定不变的量…...
代码随想录算法训练营第四十四天 | 卡码网52. 携带研究材料 ,LeetCode 518. 零钱兑换 II , 377. 组合总和 Ⅳ
题目链接:52. 携带研究材料(第七期模拟笔试) (kamacoder.com) #include<bits/stdc.h> using namespace std;int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n,v;cin>>n>>v;vector<int> dp(v1,…...

Android Kotlin知识汇总(四)Kotlin 协程实践
Kotlin的重要优势及特点之——结构化并发 Kotlin 协程是一种并发设计模式,可以在 Android 平台上让异步代码像阻塞代码一样易于使用。协程可大幅简化后台任务管理,例如网络调用、本地数据访问等任务的管理。 简单来说,协程就是一种轻量级的非…...

python基础篇--学习记录2
1.深浅拷贝 l1 ["张大仙","徐凤年",["李淳刚","邓太阿"]] # 变量名对应的就是内存地址,这里就是将l1的内存地址给了l2 # 现在两个变量指向同一个内存地址,l1变化l2也会变化 l2 l1 现在的需求是l2是l1的拷贝版本,但是两者是完全分割…...

自动化运维工具Ansible
一.Ansible基本内容 1.定义 Ansible是基于模块工作的,只是提供了一种运行框架,本身没有完成任务的能力,真正操作的是Anisble的模块。每个模块都是独立的、实现了批量系统配置、批量程序部署、批量运行命令等功能。 2.特点与优势 优势&…...

VR全景在智慧园区中的应用
VR全景如今以及广泛的应用于生产制造业、零售、展厅、房产等领域,如今720云VR全景更是在智慧园区的建设中,以其独特的优势,发挥着越来越重要的作用。VR全景作为打造智慧园区的重要角色和呈现方式已经受到了越来越多智慧园区企业的选择和应用。…...

用信号的方式回收僵尸进程
当子进程退出后,会给父进程发送一个17号SIGCHLD信号,父进程接收到17号信号后,进入信号处理函数调用waitpid函数回收僵尸进程若多个子进程同时退出后,这是切回到父进程,此时父进程只会处理一个17号信号,其他…...

计算机服务器中了locked勒索病毒怎么解密,locked勒索病毒解密流程
科技的发展带动了企业生产,越来越多的企业开始利用计算机服务器办公,为企业的生产运营提供了极大便利,但随之而来的网络安全威胁也引起了众多企业的关注。近日,云天数据恢复中心接到许多企业的求助,企业的计算机服务器…...

【C语言刷题】——初识位操作符
【C语言刷题】——初识位操作符 位操作符介绍题一、 不创建临时变量(第三个变量),实现两个数的交换(1)法一(2)法二 题二、 求一个数存储在内存中的二进制中“一”的个数(1࿰…...

Python 对Excel工作表中的数据进行排序
在Excel中,排序是整理数据的一种重要方式,它可以让你更好地理解数据,并为进一步的分析和报告做好准备。本文将介绍如何使用第三方库Spire.XLS for Python通过Python来对Excel中的数据进行排序。包含以下三种排序方法示例: 按数值…...

Python对头发二维建模(考虑风力、重力)
目录 一、背景 二、代码 一、背景 数值方法被用于创建电影、游戏或其他媒体中的计算机图形。例如,生成“逼真”的烟雾、水或爆炸等动画。本文内容是对头发的模拟,要求考虑重力、风力的影响。 假设: 1、人的头部是一个半径为10厘米的球体。…...

Python基础快速入门
Python基础快速入门 前置知识 Python Python是一种广泛使用的高级编程语言,以其易于学习和使用的语法而闻名。以下是Python的一些主要特点: 高级语言:Python是一种高级语言,这意味着它提供了较高层次的抽象,使编程更…...

C++的学习
代码练习 输入一个字符串,统计其中大写字母、小写字母、数字、空格以及其他字符的个数 #include <iostream>using namespace std;int main() {cout << "请输入一个字符串" << endl;string str;getline(cin,str);int capital 0;int l…...

工地安全反光衣穿戴监测报警摄像机
工地安全反光衣穿戴监测报警摄像机是为了提高工地施工人员的安全意识和监管效率而设计的。这种设备结合了反光衣、监测系统和报警摄像机的功能,可以有效减少工地事故的发生。 首先,工地安全反光衣是一种具有高度可见度的服装,能够使穿戴者在夜…...

UNIAPP微信小程序中使用Base64编解码原理分析和算法实现
为何要加上UNIAPP及微信小程序,可能是想让检索的翻围更广把。😇 Base64的JS原生编解码在uni的JS引擎中并不能直接使用,因此需要手写一个原生的Base64编解码器。正好项目中遇到此问题,需要通过URLLink进行小程序跳转并携带Base64参…...

人工智能|机器学习——K-means系列聚类算法k-means/ k-modes/ k-prototypes/ ......(划分聚类)
1.k-means聚类 1.1.算法简介 K-Means算法又称K均值算法,属于聚类(clustering)算法的一种,是应用最广泛的聚类算法之一。所谓聚类,即根据相似性原则,将具有较高相似度的数据对象划分至同一类簇,…...

注意力、自注意力和多头注意力的区别
本文作者: slience_me 注意力、自注意力和多头注意力的区别 理解注意力(Attention)、自注意力(Self-Attention)和多头注意力(Multi-Head Attention)之间的区别非常重要,因为它们是自…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...

Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
ThreadLocal 源码
ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物,因为每个访问一个线程局部变量的线程(通过其 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些类希望将…...