文字内容自动生成PPT

news/2024/11/28 9:45:11/

第一次需求:

  1. 输入一段文字;
  2. 识别文字标题;
  3. 根据文字内容自动将文字分成段落;
  4. 生成PPT文件;
  5. 将文字标题放入PPT文件的第一页;
  6. 将文字内容按段落内容放置在PPT 文件的不同页面上 ;
  7. 将文字标题作为PPT文件名;
  8. 根据每页PPT内容 进行配图;
  9. 将PPT文件保存下来;
import nltk
from pptx import Presentation# 获取用户输入的文本内容
text = input("请输入文本内容:")# 使用NLTK库将文章内容分成段落。import nltknltk.download('punkt')def segment_paragraphs(text):tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')paragraphs = tokenizer.tokenize(text)return paragraphs# 使用PyPPTX库创建一个新的PPT文件,并添加页面和文本框。
from pptx import Presentation
from pptx.util import Inchesdef create_ppt_file(title, paragraphs):prs = Presentation()# 添加标题页title_slide_layout = prs.slide_layouts[0]slide = prs.slides.add_slide(title_slide_layout)title_textbox = slide.shapes.titletitle_textbox.text = title# 添加段落页bullet_slide_layout = prs.slide_layouts[1]for paragraph in paragraphs:slide = prs.slides.add_slide(bullet_slide_layout)textbox = slide.shapes.placeholders[1].text_frametextbox.text = paragraphreturn prs# 使用Google Cloud Natural Language API识别文章标题。
import os
from google.cloud import language_v1os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path/to/credentials.json'def get_document_title(text):client = language_v1.LanguageServiceClient()document = language_v1.Document(content=text, type_=language_v1.Document.Type.PLAIN_TEXT)response = client.classify_text(request={'document': document})categories = response.categoriesif len(categories) > 0:return categories[0].nameelse:return 'Untitled'# 使用Unsplash API搜索关键词并下载图像。
import requests
import json
import osUNSPLASH_ACCESS_KEY = 'your_access_key'def download_image(query, filename):url = 'https://api.unsplash.com/photos/random?query={}&client_id={}'.format(query, UNSPLASH_ACCESS_KEY)response = requests.get(url)data = json.loads(response.content.decode('utf-8'))image_url = data['urls']['regular']response = requests.get(image_url)with open(filename, 'wb') as f:f.write(response.content)#  整合以上所有功能,编写主函数。
def auto_generate_ppt(text):# 分段落paragraphs = segment_paragraphs(text)# 识别标题title = get_document_title(text)# 创建PPT文件并添加页面和文本框prs = create_ppt_file(title, paragraphs)# 下载配图for i, paragraph in enumerate(paragraphs):filename = '{}_{}.jpg'.format(title, i+1)download_image(paragraph, filename)slide = prs.slides[i+1]slide.shapes.add_picture(filename, Inches(0.5), Inches(1), width=Inches(9), height=Inches(5))# 保存PPT文件prs.save('{}.pptx'.format(title))


http://www.ppmy.cn/news/842342.html

相关文章

ppt怎么加注解文字_ppt幻灯片怎么给图片添加注释?

ppt幻灯片怎么给图片添加注释? 2018-03-16 21:34 责任编辑:砕月 导读 / 如果我们想要给一个图片添加相关的文档时,我们除了用专门的图片工具之外,我们也可以采用ppt软件对图片进行注释。 软件名称:PowerPoint 2013 官方完整版(32…

计算机ppt闪耀效果在哪里,ppt怎样制作文字闪烁效果

对于经常使用ppt的人来说,都知道怎样制作简单的文字闪烁动画效果,但对于初学者来说,可能就不知道怎样操作了,下面就让学习啦小编告诉你ppt怎样制作文字闪烁效果 的方法。 ppt制作文字闪烁效果的方法 1、在计算机桌面双击PowerPoin…

计算机ppt文字1是什么原因,ppt让答案一个个出现,ppt让文字一个个出现

在使用Windows 10工作时会遇到形形色色的问题,比如开机发现无法连接网络。那么如何进行故障排除呢?下面小编与你分享具体步骤和方法。 工具/材料 Windows 10操作系统 操作方法 01启动Windows 10操作系统,如图所示。点击任务栏搜索框&#xff…

# PPT进阶——文字环绕

#<center>作者&#xff1a;21级 郭锴</center> #<center>审核&#xff1a;20级 王圻铭</center> 1.首先&#xff0c;输入一行文字&#xff0c;在文本效果中找到【转换】&#xff0c;接着在【弯曲】中找到【逆时针】&#xff0c;然后调节控点位置&…

ppt文字提取转word

把PPT转Word有多种方法&#xff0c;一种为复制法&#xff0c;第二种为发送法&#xff0c;第三种为中间转换法&#xff0c;第四种为用宏VBA快速转换法。除发送法外&#xff0c;其它三种方法只能转换文字&#xff0c;不能转换背景图片&#xff1b;而第一四种方法不能保留原格式&a…

ppt竖排文字方向HTML 5,PPT文本框中文字方向的设置方法是什么

在PPT里面插入一个图形或者文本框&#xff0c;输入文字都是默认的自左向右&#xff0c;如要输入类似对联那种样式的文字&#xff0c;又该如何呢?以下是学习啦小编为您带来的关于PPT文本框中文字方向的设置&#xff0c;希望对您有所帮助。 PPT文本框中文字方向的设置 1 启动Pow…

亮眼的PPT文字填充特效

在PPT中&#xff0c;文字是不可或缺的非常重要的元素之一。无论是什么类型的PPT&#xff0c;也少不了文字描述。 但是很多时候&#xff0c;我们只在PPT中添加几个简简单单的文字&#xff0c;填充简单的颜色&#xff0c;没有一点创新&#xff0c;使得PPT看起来非常单调。 这种…

poi 操作 PPT,针对 PPTX--文字操作

poi 操作 PPT&#xff0c;针对 PPTX–文字操作 文章目录 poi 操作 PPT&#xff0c;针对 PPTX--文字操作1、获取幻灯片内的所有段落文字2、对幻灯片内的文本内容进行模板替换3、对段落新增文本 接下来对 ppt 内幻灯片的段落文字进行操作 1、获取幻灯片内的所有段落文字 幻灯片如…