前言

笔者前一阵在学习数据相关的东西,从初学开始,一直在参加社区中的图表小挑战,此项活动是社区出题人给出一定官方数据,参加小挑战的人员可以对数据进行可视化,从而挖掘出有趣的信息。

而这个可视化的过程中,用到的可视化工具叫 Tableau ,大家有兴趣可以去查看下,能做出非常美丽的图,之前一直分享在朋友圈里,有些朋友也看到了。

在参与比赛的过程中,笔者遇到一个头疼的点,每次做成的图表拷到ppt中,要想可观的将ppt中的多个图叠在一起生成一张长图,或者单独生成图片,是万万不能实现的!因为。。。WPS自带的功能,很脑残的印上了水印!!就是为了收取会员费用。微软的PPT要自己安装插件!

经过百般查找,一些在线网站是支持的,但是要不是遇到了图片限定大小,要不遇到了带水印的!

于是,ε=(´ο`*)))唉,还是自己动手,丰衣足食一下吧!有了这个想法,用 Python 实现下这个功能!估计也有不少人有此需求吧。。

在明确需求,确认下目标,其一,可以实现 ppt 每页都生成对应图片。其二,支持将图片进行长图合并。

效果演示

先来看下我的 ppt ,一共三页:

演示效果:

核心代码讲解

1. ppt 转 png 方法,利用 win32com 来操作 ppt。这个库的安装在这篇文章介绍过了,感兴趣的可以看下,用 Python 教你制作查找电脑上隐藏文件的小工具:

def ppt2png(ppt_path, long_sign: str):

"""

ppt 转 png 方法

:param ppt_path: ppt 文件的绝对路径

:param long_sign: 是否需要转为生成长图的标识

:return:

"""

if os.path.exists(ppt_path):

output_path = output_file(ppt_path) # 判断文件是否存在

ppt_app = win32com.client.Dispatch('PowerPoint.Application')

ppt = ppt_app.Presentations.Open(ppt_path) # 打开 ppt

ppt.SaveAs(output_path, 17) # 17数字是转为 ppt 转为图片

ppt_app.Quit() # 关闭资源,退出

if 'Y' == long_sign.upper():

generate_long_image(output_path) # 合并生成长图

else:

raise Exception('请检查文件是否存在!\n')

2. 多个单图合并,生成长图,使用了 PIL。

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

$ pip install pillow

def generate_long_image(output_path):

picture_path = output_path[:output_path.rfind('.')]

last_dir = os.path.dirname(picture_path) # 上一级文件目录

# 获取单个图片

ims = [Image.open(os.path.join(picture_path, fn)) for fn in os.listdir(picture_path) if fn.endswith('.png')]

width, height = ims[0].size # 取第一个图片尺寸

long_canvas = Image.new(ims[0].mode, (width, height * len(ims))) # 创建同宽,n高的白图片

# 拼接图片

for i, image in enumerate(ims):

long_canvas.paste(image, box=(0, i * height))

long_canvas.save(os.path.join(last_dir, 'long-image.png')) # 保存长图

代码没什么可讲的,注释写的贼清楚啦!自行观看即可!

python多张图片生成ppt_用Python实现ppt转化图片(附带长图合并功能)相关推荐

  1. pythonppt_用Python实现ppt转化图片(附带长图合并功能)

    用Python实现ppt转化图片(附带长图合并功能) 前言 笔者前一阵在学习数据相关的东西,从初学开始,一直在参加社区中的图表小挑战,此项活动是社区出题人给出一定官方数据,参加小挑战的人员可以对数据进 ...

  2. canvas导出图片python_用Python实现ppt转化图片(附带长图合并功能)

    用Python实现ppt转化图片(附带长图合并功能) 前言 笔者前一阵在学习数据相关的东西,从初学开始,一直在参加社区中的图表小挑战,此项活动是社区出题人给出一定官方数据,参加小挑战的人员可以对数据进 ...

  3. python多张图片生成ppt_天呐,还能这么玩!用 Python 生成动态 PPT

    在工作的过程中,我们会发现那些能够把知识.成果讲透的人很多都会做动态图表. 这篇文章就介绍了 Python 中一种简单的动态图表制作方法,这样生成的动图就可以丰富我们的PPT啦~ 数据暴增的年代,数据 ...

  4. Python通过文字生成语音,随机获取视频或图片素材生成伪原创的短视频

    前段时间写了一篇<抖音自动引流脚本源码>主要通过语录系统自动生成语句或随机评论,适用于自动评论引流脚本. 今天脑洞大开,想用Python通过文字生成语音,随机获取视频或图片素材生成伪原创的 ...

  5. 用Python实现PPT转化图片

    图片来源于网络 1 前言 笔者前一阵在学习数据相关的东西,从初学开始,一直在参加社区中的图表小挑战,此项活动是社区出题人给出一定官方数据,参加小挑战的人员可以对数据进行可视化,从而挖掘出有趣的信息. ...

  6. python自动生成ppt_用Python自动化生成倒计时图片

    转载自公众号:法纳斯特 带着PPT设计美感的python公众号 作者:小F 本次内容有感于<Python编程快速上手-让繁琐工作自动化>. 根据书中的「操作图像」章节内容,实现一个简单又实 ...

  7. python生成ppt_实战 | Python自动生成PPT分析报告

    数据需求:调研数据,包括但不仅限于 问卷星原始数据. 问卷网原始数据 主要功能1: 自动生成概述性质的报告(ppt格式,针对每道题目给出频数统计,并绘制ppt图表) 主要功能2:自动交叉分析,并生成报 ...

  8. python 根据word生成ppt_python操作word、ppt的详解

    python可以使用一个第三方库叫做win32com达到操作com的目的, 我是安装了ActivePython的第三方库,从官网下载了安装包,该第三方库几乎封装了所有python下面的win32相关的 ...

  9. python少儿编程课件ppt_《Python 少儿趣味编程》

    Python简单易学,功能强大,是少儿学习编程的首选语言.本书是少儿学习Python编程的趣味指南,全书共17章,按照由简到难.逐步深入的方式组织各章内容.本书从认识Python开始,首先介绍了Pyt ...

最新文章

  1. env export set 作用
  2. c++中堆、栈内存分配
  3. 高斯消去法c++_高斯消去法的算法改进
  4. Java中级工程师知识图谱
  5. pcl中ransac提取直线_复杂场景中的一个图像配准思路
  6. gramer法则matlab,线性代数-matlab实验报告.doc
  7. Caffe常见神经网络结构——汇总与对比
  8. 信息学奥赛一本通(C++版) 第三部分 数据结构 第四章 图论算法
  9. 【板栗糖GIS】如何给文件夹批量重命名
  10. 张朝阳:走出焦虑,不再焦虑
  11. android内窥镜安装软件,DEPSTECH内窥镜
  12. 32767+1=-32768 补码
  13. 好用的三维绘图软件CREO学习标注尺寸
  14. 视差映射:更逼真的纹理细节表现(上):为什么要使用视差映射
  15. 难译 | windbg 乐趣之道(下)
  16. 争议不断的AI绘画,靠什么成为了顶流?
  17. Java SDK和Java JDK的区别
  18. PCL:交互点选点云
  19. 游戏引擎与游戏开发入门介绍
  20. vue 获取当前路由的title_使用vue-router为每个路由配置各自的title

热门文章

  1. 【shopify如何搭建本地开发环境】
  2. 鸿蒙系统什么手机可以,鸿蒙系统的手机,会有哪些不一样的体验?
  3. php 微信防盗链,PHP如何解决微信文章图片防盗链
  4. 立创EDA——符号的绘制
  5. Latex之给字符上加横线、波浪线、^等
  6. 转~新手必备网站包含的几个模块
  7. k210的简单PID巡线
  8. Rk3566 Rk3326s Android11 修改WLAN直连默认名称
  9. 一张电子名片即可完成拓客成交和裂变
  10. 收发一体超声波测距离传感器模块_超声波一体化液位计