You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.6 KiB

5 months ago
from D1_GenerateMarkdown import *
from D2_MarkdownToPptx import *
from D3_MarkdownToDocx import *
5 months ago
5 months ago
# 获取课程名称
def get_course_name() -> str:
"""获取规范格式的课程名称"""
5 months ago
prompt = '''功能:输入课程名称生成教案及课件。
请按以下格式输入示例小学数学三角形内角和
5 months ago
请输入'''
while True:
course = input(prompt).strip()
if course:
return course
print("⚠️ 输入不能为空,请重新输入!")
5 months ago
5 months ago
if __name__ == '__main__':
# 获取课程名称
course_name = get_course_name()
print(f"即将生成【{course_name}】教学大纲...")
guid_v4 = str(uuid.uuid4())
dashscope.api_key = MarkdownGenerator.API_KEY
generate_document(
course_name=course_name,
output_path=mdWorkingPath / (guid_v4 + '.md')
)
# 生成PPT
# 硬编码配置参数
FIXED_MD_PATH = str(mdWorkingPath) + '/' + guid_v4 + '.md'
# 模板名称
TEMPLATE_NAME = "通用"
# 输出路径
OUTPUT_PATH = "D:\dsWork\QingLong\output5.pptx"
# 执行生成
generate(TEMPLATE_NAME, OUTPUT_PATH, FIXED_MD_PATH)
print(f"PPT生成成功保存路径{OUTPUT_PATH}")
# 生成 DOCX
OUTPUT_DOCX = r"D:\dsWork\QingLong\output5.docx"
convert_md_to_docx(
input_md=FIXED_MD_PATH,
output_docx=OUTPUT_DOCX,
5 months ago
reference_template=str(Path(__file__).parent) + r"\left-aligned-template.docx"
5 months ago
)
print(f"DOCX生成成功保存路径{OUTPUT_DOCX}")
# 删除FIXED_MD_PATH
5 months ago
os.remove(FIXED_MD_PATH)