当前位置: 首页 > wzjs >正文

深圳网站建设科技有限公司seo站长

深圳网站建设科技有限公司,seo站长,减肥推广,辽宁最好的男科医院软件介绍 这个软件的作用就是将文件夹里面的PPT文件转换为图片并且拼接起来。 但是我还没有解决可视化界面问题 效果展示如下: 软件源码 import os import re import win32com.client from PIL import Imagedef convert_ppt_to_png(ppt: str, output_folder: …

软件介绍

这个软件的作用就是将文件夹里面的PPT文件转换为图片并且拼接起来。

但是我还没有解决可视化界面问题

效果展示如下:
在这里插入图片描述

软件源码

import os
import re
import win32com.client
from PIL import Imagedef convert_ppt_to_png(ppt: str, output_folder: str) -> None:try:pptObj = win32com.client.Dispatch("PowerPoint.Application")except Exception as e:raise RuntimeError(f"无法启动 PowerPoint 应用程序: {e}")if not os.path.exists(ppt):raise FileNotFoundError(f"PPT 文件不存在: {ppt}")presentation = pptObj.Presentations.Open(ppt, WithWindow=False)presentation.SaveAs(output_folder, 18)presentation.Close()pptObj.Quit()def create_collage(input_folder: str, output_folder: str, ppt_name: str, row_size: int, col_gap: int, row_gap: int) -> None:# 加载图片files = os.listdir(input_folder)# 匹配"幻灯片数字.png"格式的文件,不区分大小写slide_files = [f for f in files if re.match(r"幻灯片\d+\.png", f, re.IGNORECASE)]if not slide_files:raise RuntimeError(f"未找到幻灯片图片文件")# 按数字排序幻灯片图片slide_files.sort(key=lambda x: int(re.search(r'\d+', x).group()))# 打开所有图片try:images = [Image.open(os.path.join(input_folder, f)) for f in slide_files]except Exception as e:raise RuntimeError(f"加载图片时出错: {e}")# 获取图片尺寸if not images:raise RuntimeError("没有可处理的图片")width, height = images[0].size# 第一行图片放大显示first_img = images[0].resize((width * row_size + col_gap * (row_size - 1), height * row_size + int(col_gap * (row_size - 1) * height / width)), Image.LANCZOS)remaining_images = images[1:]# 计算画布尺寸rows = (len(remaining_images) + row_size - 1) // row_sizecanvas_width = first_img.widthcanvas_height = first_img.height + rows * (height + row_gap)# 创建画布collage_image = Image.new("RGB", (canvas_width, canvas_height), (255, 255, 255))# 粘贴第一张放大的图片collage_image.paste(first_img, (0, 0))# 粘贴剩余图片for i, img in enumerate(remaining_images):row = i // row_sizecol = i % row_sizex = col * (width + col_gap)y = first_img.height + row * (height + row_gap)collage_image.paste(img, (x, y))# 指定拼贴画的保存路径,使用PPT文件名collage_path = os.path.join(output_folder, f"{ppt_name}.png")collage_image.save(collage_path)# 删除临时PNG文件for f in slide_files:os.remove(os.path.join(input_folder, f))if __name__ == "__main__":ppt_folder = r'D:\Desktop\文件存储\1'  # PPT 文件夹路径output_folder = r'D:\Desktop\文件存储\1'  # 输出文件夹路径row_size = 3  # 每行图片数量col_gap = 10  # 列间距(像素)row_gap = 10  # 行间距(像素)# 确保输出文件夹存在os.makedirs(output_folder, exist_ok=True)# 遍历 PPT 文件夹中的所有 PPT 文件for filename in os.listdir(ppt_folder):if filename.endswith(('.ppt', '.pptx')):ppt = os.path.join(ppt_folder, filename)# 从 PPT 路径中提取文件名(不带扩展名)ppt_filename = os.path.basename(ppt)ppt_name = os.path.splitext(ppt_filename)[0]# 首先将 PPT 转换为 PNG 图片convert_ppt_to_png(ppt, output_folder)# 然后从生成的图片创建拼贴画create_collage(output_folder, output_folder, ppt_name, row_size, col_gap, row_gap)print(f"处理完成,拼贴画已保存为: {ppt_name}.png")# 保持程序打开,等待用户输入input("按回车键退出...")

源码获取

https://pan.quark.cn/s/cb51a1d51d03

http://www.dtcms.com/wzjs/53005.html

相关文章:

  • 杭州的服装网站建设免费建站的网站哪个好
  • 免费物流公司网站模板福建网站建设制作
  • 医药网站源代码pc端百度
  • 做网站用域名不备案怎么弄茂名seo快速排名外包
  • 中国菲律宾商会seo标题优化关键词怎么选
  • 网站管理员权限有哪些链接
  • 网站开发交易网站网站seo整站优化
  • 石家庄市住房和建设局网站营销一体化平台
  • 青岛网站建设公司外包长沙百度关键词排名
  • 自己做网站用花钱吗b2b多平台一键发布
  • 曲靖网站开发电脑版百度网盘
  • 做网站网页维护手机App开发网站自建
  • 灰色的网站宣传网站有哪些
  • 河北省城乡建设培训网官方网站排名优化培训
  • 建设网站 深圳校园推广
  • 安庆哪里做网站重庆二级站seo整站优化排名
  • 建英文网站要做网络推广
  • 合肥建设网站淘宝关键词推广
  • 百度链接地址抖音seo排名系统
  • 在线培训网站怎么做广东广州网点快速网站建设
  • 直接IP做访问我服务器的网站张雷明任河南省委常委
  • 商城建站系统多少钱外贸谷歌优化
  • 成都公司网站设计套餐谷歌浏览器官网下载安装
  • wordpress微信分享代码seo指什么
  • 会议网站建设百度影响力排名顺序
  • 重庆网络公司网站建设黄页网络的推广软件
  • 文昌网站 做炸饺子免费引流人脉推广软件
  • 深圳市宝安区做网站建设的企业网站流量数据分析
  • 受和攻不停的做漫画网站百度智能云官网
  • 网店怎么开要多少钱榆林百度seo