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

news2024/11/15 14:07:40

作品展示:

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

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

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机组成原理-练手题集合【期末复习|考研复习】

前言 总结整理不易,希望大家点赞收藏。 给大家整理了一下计算机组成原理中的各章练手题,以供大家期末复习和考研复习的时候使用。 参考资料是王道的计算机组成原理和西电的计算机组成原理。 计算机组成原理系列文章传送门: 第一/二章 概述和数…

零基础小白也行,只用一行命令在自己的电脑跑大模型

什么是Ollama Ollama是一款免费开源的工具,拥有开箱即用的大模型,省去安装环境和下载模型的步骤,让零基础的人也能用起大模型。 项目地址 下载方法 通过下载链接可以找到对应的操作系统的下载版本,而且访问该网站不受限制&…

mysql 的一对一主从复制

一、配置主机 1、在主机mysql 配置文件my.cnf(位置一般在/etc/my.cnf) #在[mysqld]下面配置 #设置主机server-id(唯一) server-id1 #开启binlog文件 bin-log/var/lib/mysql/mysqlbin2、添加授权账号 #格式旧版 #GRANT REPLICATION SLAVE ON *.* TO sl…

个人博客网站前端页面的实现

博客网站前端页面的实现 博客登录页 相关代码 login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

【数学】【网格】【状态压缩】782 变为棋盘

作者推荐 视频算法专题 本文涉及知识点 数学 网格 状态压缩 LeetCode:782 变为棋盘 一个 n x n 的二维网络 board 仅由 0 和 1 组成 。每次移动&#xff0c;你能任意交换两列或是两行的位置。 返回 将这个矩阵变为 “棋盘” 所需的最小移动次数 。如果不存在可行的变换&am…

PWARL CTF and others

title: 一些复杂点的题目 date: 2024-03-09 16:05:24 tags: CTF 2024年3月9日 今日习题完成&#xff1a; 1.BUU [网鼎杯 2020 半决赛]AliceWebsite 2.[RoarCTF 2019]Online Proxy 3.[Polar CTF]到底给不给flag呢 4.网鼎杯 2020 总决赛]Game Exp [RoarCTF 2019]Online Proxy …

微信小程序云开发教程——墨刀原型工具入门(常用组件)

引言 作为一个小白&#xff0c;小北要怎么在短时间内快速学会微信小程序原型设计&#xff1f; “时间紧&#xff0c;任务重”&#xff0c;这意味着学习时必须把握微信小程序原型设计中的重点、难点&#xff0c;而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

初学SpringBoot——请求响应

0 引言 我们在使用SpringBoot开发Java后端项目时候&#xff0c;需要响应前端发送过来的请求&#xff0c;那后端如何响应前端的请求呢&#xff1f;以及前端发送那么多的请求&#xff0c;后端如何根据不同的请求执行不同的代码呢&#xff1f; 1 Postman 当前&#xff0c;主流的…

电影院订票选座小程序|基于微信小程序的电影院购票系统设计与实现(源码+数据库+文档)

电影院订票选座小程序目录 目录 基于微信小程序的电影院购票系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能实现 1、 影院信息管理 2 、电影信息管理 2、 用户功能实现 1、 影院信息 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考…

3月12日 工作记录 DeepSeek-VL阅读笔记

昨天考完试&#xff0c;晚上把那个讨人厌的项目做了阶段结果给合作者展示去了&#xff0c;然后就看到deepseek发布了vision language的技术报告&#xff0c;于是打算今天上午看看。 DeepSeek VL 很多内容直接翻译自其 DeepSeek-VL&#xff0c;下面的我们指的的是deepseek vl的…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的障碍物检测系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发障碍物检测系统对于道路安全性具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个障碍物检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0c;展示了不同模型间的性能…

卡片大小,秒传千兆,内嵌加密 | 芯点子 x 希捷联名款CS1000高速移动固态硬盘首发评测

卡片大小&#xff0c;秒传千兆&#xff0c;内嵌加密 | 芯点子 x 希捷联名款CS1000高速移动固态硬盘首发评测 哈喽小伙伴们好&#xff0c;我是Stark-C~ 写在前面 我个人作为一名常和各种数据打交道的苦逼搬砖族&#xff0c;平时使用最多的操作就是各种数据备份、文件传输和分…

Codeforces Round 933 (Div. 3)

Codeforces Round 933 (Div. 3) Codeforces Round 933 (Div. 3) A. Rudolf and the Ticket 题意&#xff1a;俩口袋各有n和m枚不同面值的硬币&#xff0c;各取一枚&#xff0c;有多少种小于k的可能。 思路&#xff1a;数据很小&#xff0c;暴力枚举。 AC code&#xff1a;…

【深度学习笔记】7_6 RMSProp算法

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 7.6 RMSProp算法 我们在7.5节&#xff08;AdaGrad算法&#xff09;中提到&#xff0c;因为调整学习率时分母上的变量 s t \boldsymbol…

得帆助力大族激光主数据平台建设,用数据为企业生产力赋能

本期客户 大族激光科技产业集团股份有限公司&#xff08;以下简称“大族激光”&#xff09;是一家从事工业激光加工设备与自动化等配套设备及其关键器件的研发、生产、销售&#xff0c;激光、机器人及自动化技术在智能制造领域的系统解决方案的优质提供商&#xff0c;是国内激光…

RPC通信原理

RPC通信原理 RPC的概念 如果现在我有一个电商项目&#xff0c;用户要查询订单&#xff0c;自然而然是通过Service接口来调用订单的实现类。 我们把用户模块和订单模块都放在一起&#xff0c;打包成一个war包&#xff0c;然后再tomcat上运行&#xff0c;tomcat占有一个进程&am…

智能革新:思通数科开源AI平台在保险合同管理中的应用与优化

思通数科开源的多模态AI能力引擎平台是一个强大的工具&#xff0c;它结合了自然语言处理&#xff08;NLP&#xff09;、图像识别和语音识别技术&#xff0c;为企业提供自动化处理和分析文本、音视频和图像数据的能力。这个平台的开源性质意味着它可以被广泛地应用于各种业务场景…

JSP中间件漏洞

jsp的注入最难挖 另外3个好挖 struts2 url有action 就代表是struts2 用漏洞利用工具 下面之这两个一般都可以用工具扫一下 、 有些网站看起来没有 action实际上我们提交了 我们的账号和密码 之后就有了 工具包是下面 这些 github上面也有 用法就是如下图 把url放进去就…

3d视觉笔记 | 神经辐射场NeRF(Neural Radiance Fields)

NeRF概念 NeRF&#xff08;Neural Radiance Fields&#xff0c;神经辐射场&#xff09;是一种用于3D场景重建和图像渲染的深度学习方法。它由Ben Mildenhall等人在2020年的论文《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》中首次提出。NeRF通过…

8-100V转5V 2A 12V 2A 降压芯片 外置MOS 恒压输出

SC9103 一款宽电压范围降压型 DC-DC 电源管理芯片&#xff0c;内部集成使能开关控制、基准电源、误差放大器、 过热保护、限流保护、短路保护等功能&#xff0c;非常适合宽电压输入降压使用。 SC9103 零功耗使能控制&#xff0c;可以大大节省外围器件&#xff0c;更加适合电池场…