0
点赞
收藏
分享

微信扫一扫

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

_阿瑶 03-12 18:30 阅读 2
python

作品展示:

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

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

 

举报

相关推荐

0 条评论