【办公类-21-09】三级育婴师 视频转文字docx(等线小五单倍行距),批量改成“宋体小四、1.5倍行距、蓝色字体”

作品展示:

a431ace260ea4fdaa197da5cff3f0372.png

背景需求:

一、视频处理

1、育婴师培训的现场视频

ce24a405430e434db7211f869760a8cd.png

2、下载视频,将视频换成考题名称

fb0ecb287f214655839f79319873d9e6.png

958d056285bf486e88596b8ae8a1acb5.pngb02530fca9fe4f079ea28e5f4bf76204.png

二、音频

视频用格式工厂转成MP3音频

b6f4a51543a24ece8286c4c4958e5e7f.png

a18b0e0e537d433eb71645bf22688f95.png

d3d5b89ead8949d68a2c1e21fd6577f7.png

6d6471d8afa3475db47584506f950095.png

83f00a498bc8481e8ab5eecc98bf73da.png

e7a0a0aa59ea4440ac7e227fd6e86265.png

3、转文字doc

把音频放入“网易云见外工作台”转换为“文字"

051836c76ca7462c9d6d765fdcdecbae.png

50f1b5350483469cb8ab28d2b6887d8a.pngc7f45e89c708465596ea0c526559e916.png

3ec637b1c46b4b1999f3fba10545105e.png366636ea584449a6a316d405e712d9d5.png1c6a49f26fb5404cbce876bdbfb76aa9.png389c32a09bb64b06892d5da34b3e869a.png7b0350841a77486f8972149579c396b4.png

5f9fc15c4d444bd08491b9eda326a218.png

等待5分钟,音频文字会被写成文字doc

 

37391eac131343029026ca3398944cf0.png

音频转文本完成了

d260f77d67554a9981cb5f16cb392d7e.png

73e042313ffb4e808d7906f8e5aa4e3e.png

都是doc格式的

6aab3f24b82d4e9faf1c61b1a0bb704e.png

 

e1acb033c48b4531b42d4138243dc17c.png

 

我想把里面的字体改成“宋体 小四、1.5倍行距,蓝色字体”

a6363625dfca49e781cd73e0ef642b4a.png

是否可以利用Python,把三份内容doc内容批量改成蓝色效果 呢

 

第一步:doc转docx(doc有时不能读写)

三份文件放在“”123文件夹”

6f8e46d4f21d4425a035aa5f9fc00b0b.png

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 转 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()

在原文件夹里,直接从doc变成docx——还是黑色字体

7c63305a6565461a80c802c707aa1c42.png

a30610834e49479faeff476bb62b8ea6.png

 

第二步:读取docx黑色文字,改成宋体小四、1.5倍行距、蓝色字体

7c63305a6565461a80c802c707aa1c42.png

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 OxmlElement

def set_run_font(run, font_name, font_size, font_color):
    r = run._element
    rPr = 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('所有文档处理完成')

f2f50125f7b044eebf2d475fe80835e6.png3b32b06d02e949deb46608723085b4e9.pnge6927a398db54dbcbe8eb85a5c0d508b.png

运用Python快速将三篇docx的文字替换成其他字体和颜色,不用一篇篇手动更改字体、行距、颜色!(* ̄︶ ̄)

 

为什么要改成蓝色字体呢

因为操作题中语言说的部分很多,所以先把所有的导师说的话当成设置成蓝色字体,然后再观看视频,补充红色文字的动作。

47df2469cfea4266b30120bb1df2e127.png

 

还有一个美中不足的地方

第三步:文件名称里面的“+”替换成“空”

59a01857dc3d447eb59e3796c2d67670.png


print('---------第3步:文件名中的“+”改成“ ”---------')
import os

folder_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('所有文件名替换完成')

87a73ae169954120ae8fe4aa7e2c1984.png

 

第四步:哪一种蓝色?

e6a813d8c1704f329f1865a48ca071f4.png

6990abc83ad845b0ae0010af0e62ed5b.png

bf90287539d845e9a8e73ee8e6d0dace.png

d7c0a637b5434dd89c52db55dfdcf7c0.png

之前7篇都是用'0070CO'浅蓝色,所以这里也改成浅蓝色

a431ace260ea4fdaa197da5cff3f0372.png

 完整代码


'''
目的:制作蓝色字体的育婴师操作步骤说明
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.client

print('---------第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 OxmlElement

def set_run_font(run, font_name, font_size, font_color):
    r = run._element
    rPr = 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 os

folder_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、目前我发现:用讯飞录音笔可以用个讯飞听见转成文字(专家指导录音),但如果手机拍摄的视频,就不能用讯飞听见转成文字。因此要用到“网易云见外工作台”。

工作中会经常用到“网易云见外”转录视频,因此通过这个代码去修正文字的格式,比较实用。

 

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

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

相关文章

java操作HBase

创建一个学生信息表,用来存储学生的姓名(姓名作为行键,且假设姓名不会重复)以及考试成绩,其中考试成绩(score)是一个列族,存储了各个科目的考试成绩。然后向student中添加数据 1、HB…

Python元组(Tuple)深度解析!

目录 1. 什么是元组? 2. 创建元组 3.访问元组 4.元组的运算 5.修改元组不可行 6.元组的应用场景 前面的博客里,我们详细介绍了列表(List)这一种数据类型,现在我们来讲讲与列表相似的一种数据类型,元组…

【LeetCode: 380. O(1) 时间插入、删除和获取随机元素 + 数据结构设计】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

学习大数据,所需要Java基础(9)

文章目录 网络编程实现简答客户端和服务器端的交互编写客户端编写服务端 文件上传文件上传客户端以及服务器端实现文件上传服务器端实现(多线程)文件上传服务器端(连接池版本)关闭资源工具类 BS架构服务器案例案例分析BS结构服务器…

【C++】AVL树的插入、旋转

目录 一、AVL树介绍1.1 概念1.2 定义 二、AVL树的实现2.1 插入2.2 旋转2.2.1 左单旋2.2.2 右单旋2.2.3 左右双旋2.2.4 右左双旋 一、AVL树介绍 1.1 概念 AVL树是高度平衡的二叉搜索树,相比普通的二叉搜索树,它防止了变成单支树的情况。因为AVL树每插入…

bash: mysqldump: command not found

问题:在linux上执行mysql备份的时候,出现此异常 mysqldump命令找不到 解决: 1、找到mysql目录(找到mysql可执行命令目录) which mysql 有图可知,mysql安装在: /usr1/local/java/mysql 2、my…

redis 中的八大问题

前言 在分布式系统中,由于redis分布式锁相对于更简单和高效,成为了分布式锁的首先,被我们用到了很多实际业务场景当中。 但不是说用了redis分布式锁,就可以高枕无忧了,如果没有用好或者用对,也会引来一些意…

世界的本质是旋转(7) 野路子PSK 接收机上层同步的技巧与缺陷

上一篇文章里,我们以BPSK为例子,介绍了nPSK(n2,4,8)波形的接收、解调中的同步技术。 前文阐述的同步技术所工作的对象是复平面的坐标,X轴是实部、Y轴是虚部。当完成时钟、频率同步后,就获得了一串整数&…

sqlserver中将csv非空间数据(带点坐标)转为空间数据

1、导入csv数据 2、修改字段shape为空间字段 ALTER TABLE FJPOIHB66 ALTER COLUMN shape geometry;3、空间字段转字符串 UPDATE FJPOIHB66 SET shape geometry::STGeomFromText(CONVERT(nvarchar(254),shape), 4326);4、设置主键字段 5、即可

Instagram被封了?Ins封号的6个常见原因及防封技巧

现在,Instagram 对于跨境电商和社交媒体营销人员来说十分重要。然而,许多用户发现他们的Instagram刚注册就被封,大家要知道 Instagram 和 Facebook 等其他平台一样,对账户管理的管控机制非常严格,不过,Inst…

nut-ui组件库icon中使用阿里图标

1.需求 基本每个移动端组件库都有组件 icon组件 图标组件、 但是很多组件库中并找不到我们需要的图标 这时候 大家有可能会找图标库 最大众的就是iconfont的图标了 2.使用 有很多方式去使用这个东西 比如将再限链接中的css引入 在使用 直接下载图标 symbol 方式 等....…

【群环域】多项式环基础

目录 一. 多项式环的基本定义 二. 环与多项式环 三. 多项式环的性质 四. 多项式环的次数(degree) 五. 多变量多项式 六. 多变量多项式环R的同态 一. 多项式环的基本定义 令R代表环(Ring),多项式环中x对应的系数…

【C语言】自定义类型:结构体

1. 结构体类型的声明 1.1 结构体回顾 结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.1.1 结构的声明 struct tag {member-list; }variable-list; 例如描述⼀个学⽣: struct Stu {char name[20];//名字int age;//年…

【C语言】strcpy函数的超细节详解(什么是strcpy,如何模拟实现strcpy?)

目录 一、观察strcpy()库函数的功能与实现 二、模仿实现strcpy()函数 🔍优化代码 🔍assert断言拦截 🔍const修饰常量指针 🔍返回值的加入 三、共勉 一、观察strcpy()库函数的功能与实现 首先我们先来观察一下库函数strcpy去实现…

forward请求转发、include请求转发

forward请求转发,执行到这里就请求转发去执行Servlet4 include请求转发在执行完Servlet4之后,还会回来执行完。

五大模型大比拼:Claude3、Gemini、Sora、GPTs与GPT-4的优缺点分析

课程安排 学习内容 第一章 2024年AI领域最新技术 1.OpenAI新模型-GPT-5 2.谷歌新模型-Gemini Ultra 3.Meta新模型-LLama3 4.科大讯飞-星火认知 5.百度-文心一言 6.MoonshotAI-Kimi 7.智谱AI-GLM-4 第二章 OpenAI开发者大会后GPT最新技术 1.最新大模型GPT-4 Turbo详细介绍…

鞋服品牌如何计算门店盈亏平衡?

在鞋服品牌的运营中,门店盈亏平衡是衡量门店经营效果的重要指标。盈亏平衡点意味着门店在达到这一销售水平时,既能够覆盖所有固定和变动成本,又能实现零利润或零亏损。计算门店盈亏平衡有助于品牌更好地理解门店的经营状况,制定合…

解决LangChain构建知识向量库的过程中官方API无法自定义文本切割方式的问题-例如按行切分

自定义切分构成知识向量库的文本o( ̄▽ ̄)ブ 在使用大模型和知识向量库进行问题问答的过程中,由于一些LangChain切分文本功能上的限制影响了模型的回答效果为了解决该问题故诞生此文档,如果有说的不对的,或者想交流的非…

Vue3中computed、watch、watchEffect的区别

三者都是侦听工具,实现的是观察者模式,横向对比 (1)依赖:指的是响应性依赖,也就是侦听 ref、reactive 这类具有响应性的对象。 (2)watch:默认情况下,被侦听对…

Spring AOP常见面试题

目录 一、对于AOP的理解 二、Spring是如何实现AOP的 1、execution表达式 2、annotation 3、基于Spring API,通过xml配置的方式。 4、基于代理实现 三、Spring AOP的实现原理 四、Spring是如何选择使用哪种动态代理 1、Spring Framework 2、Spring Boot 五…