前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用AI制作动画和电影的英语台词本

用AI制作动画和电影的英语台词本

作者头像
AIGC部落
发布2024-06-24 19:49:52
820
发布2024-06-24 19:49:52
举报
文章被收录于专栏:Dance with GenAIDance with GenAI

以动画龙猫为例,先对视频进行截图,参见文章《AI办公自动化:根据字幕时间轴批量对视频进行截图》;

AI办公自动化:根据字幕时间轴批量对视频进行截图

然后拆分srt文档,参见文章《AI办公自动化:根据字幕时间轴批量拆分srt文档》。

AI办公自动化:根据字幕时间轴批量拆分srt文档

这两步完成之后,在ChatGPT中输入提示词:

你是一个Python编程专家,要完成一个Python脚本编写任务,具体步骤如下:

打开文件夹:"D:\My.Neighbor.Totoro.1988.720p.BluRay.X264-AMIABLE [PublicHD];

新建一个word文档:龙猫台词本.docx;

设置页边距为:上:1厘米,下1厘米,左3厘米,右1厘米;

word文档页面设置的方向为:横向;

第1页插入一个2行2列的表格,设置表格边框为:无;

设置表格第1行第1列单元格的长度为13.16厘米,高度为6.88厘米;

设置表格第2行第1列单元格的长度为13.16厘米,高度为11.89厘米;

在表格第1行第1列单元格插入文件夹“D:\My.Neighbor.Totoro.1988.720p.BluRay.X264-AMIABLE [PublicHD]\Subs”中的图片:{picnumber1}.jpg;({picnumber1}的值从8开始,以30递增,直到61、08结束),设置图片的长度为12.43厘米,宽度为6.42厘米;

在表格第1行第2列单元格插入文件夹“D:\My.Neighbor.Totoro.1988.720p.BluRay.X264-AMIABLE [PublicHD]\Subs”中的文本:{txtnumber1}.txt;({txtnumber1}的值从8开始,以30递增,直到608结束),字体设置为:calibri 正文、字号为:小四;

设置表格第1行第2列单元格的长度为13.16厘米,高度为6.88厘米;

设置表格第2行第2列单元格的长度为13.16厘米,高度为11.89厘米;

在表格第1行第2列单元格插入文件夹“D:\My.Neighbor.Totoro.1988.720p.BluRay.X264-AMIABLE [PublicHD]\Subs”中的图片:{picnumber2}.jpg;({picnumber2}的值从23开始,以30递增,直到608结束),设置图片的长度为12.43厘米,宽度为6.42厘米;

在表格第2行第2列单元格插入文件夹“D:\My.Neighbor.Totoro.1988.720p.BluRay.X264-AMIABLE [PublicHD]\Subs”中的文本:{txtnumber2}.txt;({txtnumber2}的值从23开始,以30递增,直到608结束),字体设置为:calibri 正文、字号为:小四;;

第1页word文档生成完成,接下来循环执行继续自动生成其它页的word文档内容,直到21页word文档内容全部完成;

注意:每一步都要输出信息到屏幕

要导入WD_ORIENTATION

在python-docx中,我们不能使用add_section方法来添加新的部分(section)

在 python-docx 的版本中,WD_BORDER 已经被移除了。我们可以通过更改表格的边框样式来实现无边框效果

chatgpt生成的代码:

import os

from docx import Document

from docx.shared import Cm

from docx.enum.section import WD_ORIENTATION

# 打开文件夹

folder_path = r"D:\My.Neighbor.Totoro.1988.720p.BluRay.X264-AMIABLE [PublicHD]\Subs"

# 新建一个Word文档

doc = Document()

# 设置页面横向

section = doc.sections[0]

section.orientation = WD_ORIENTATION.LANDSCAPE

print("页面方向设置完成")

# 定义初始的图片、文本编号

pic_number1 = 8

txt_number1 = 8

pic_number2 = 23

txt_number2 = 23

# 循环生成21页的Word文档内容

for page_num in range(1, 22):

# 添加新的页面

doc.add_page_break()

# 添加第page_num页的内容

table = doc.add_table(rows=2, cols=2)

table.autofit = False

table.cell(0, 0).width = Cm(13.16)

table.cell(1, 0).width = Cm(13.16)

table.cell(0, 1).width = Cm(13.16)

table.cell(1, 1).width = Cm(13.16)

table.rows[0].height = Cm(6.88)

table.rows[1].height = Cm(11.89)

# 设置表格边框为无边框

for row in table.rows:

for cell in row.cells:

for paragraph in cell.paragraphs:

for run in paragraph.runs:

run.font.size = Cm(0.3)

cell.border = False

print(f"第{page_num}页表格创建完成")

# 在第page_num页表格中插入内容

pic_path1 = os.path.join(folder_path, f"{pic_number1}.jpg")

if os.path.exists(pic_path1):

cell = table.cell(0, 0)

run = cell.paragraphs[0].add_run()

run.add_picture(pic_path1, width=Cm(12.43), height=Cm(6.42))

txt_path1 = os.path.join(folder_path, f"{txt_number1}.txt")

if os.path.exists(txt_path1):

with open(txt_path1, 'r', encoding='utf-8') as txt_file:

txt_content = txt_file.read()

cell = table.cell(1, 0)

cell.text = txt_content

cell.paragraphs[0].style.font.name = 'Calibri'

cell.paragraphs[0].style.font.size = Cm(0.3)

pic_path2 = os.path.join(folder_path, f"{pic_number2}.jpg")

if os.path.exists(pic_path2):

cell = table.cell(0, 1)

run = cell.paragraphs[0].add_run()

run.add_picture(pic_path2, width=Cm(12.43), height=Cm(6.42))

txt_path2 = os.path.join(folder_path, f"{txt_number2}.txt")

if os.path.exists(txt_path2):

with open(txt_path2, 'r', encoding='utf-8') as txt_file:

txt_content = txt_file.read()

cell = table.cell(1, 1)

cell.text = txt_content

cell.paragraphs[0].style.font.name = 'Calibri'

cell.paragraphs[0].style.font.size = Cm(0.3)

# 更新图片和文本编号

pic_number1 += 30

txt_number1 += 30

pic_number2 += 30

txt_number2 += 30

print("全部页word文档生成完成")

# 保存文档

doc.save("龙猫台词本.docx")

print("文档保存完成")

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dance with GenAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档