[Python Study Notes]批量将ppt转换为pdf v1.0
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- >>文件: ppt2pdf.py
- >>作者: liu yang
- >>邮箱: liuyang0001@outlook.com
- >>博客: www.cnblogs.com/liu66blog
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import sys, os
- # 调用com组件包
- import comtypes.client
- # 第一步:得到ptr
- def init_powerpoint():
- powerpoint = comtypes.client.CreateObject("Powerpoint.Application")
- powerpoint.Visible = 1
- return powerpoint
- # 第二步:找到该路径下的所有ppt(x)文件,并将其路径添加到cwd
- def convert_files_in_folder(powerpoint, folder):
- # 将当前所有文件及文件夹添加进列表
- files = os.listdir(folder)
- print('files:',files)
- # 将所有以.ppt(x)结尾的文件加入cwd path
- pptfiles = [f for f in files if f.endswith((".ppt", ".pptx"))]
- for pptfile in pptfiles:
- # 加入判断,如果当前转换成的pdf已存在,就跳过不添加
- print(pptfile)
- if pptfile+'.pdf' in files :
- break
- # 加入cwd环境
- fullpath = os.path.join(cwd, pptfile)
- ppt_to_pdf(powerpoint, fullpath, fullpath)
- #第三步:将cwd路径下转换成pdf格式
- def ppt_to_pdf(powerpoint, inputFileName, outputFileName, formatType = 32):
- # 切片取后缀是否为pdf
- if outputFileName[-3:] != 'pdf':
- outputFileName = outputFileName + ".pdf"
- # 调用接口进行转换
- deck = powerpoint.Presentations.Open(inputFileName)
- deck.SaveAs(outputFileName, formatType) # formatType = 32 for ppt to pdf
- deck.Close()
- if __name__ == "__main__":
- # 得到PowerPoint应用的ptr
- powerpoint = init_powerpoint()
- # print(powerpoint)
- # 得到当前路径
- cwd = os.getcwd()
- # 打印当前路径
- print(cwd)
- # 调用powerpoit进行转换cwd path下的ppt(x)格式
- convert_files_in_folder(powerpoint, cwd)
- # 转换结束后关闭
- powerpoint.Quit()
- # 感谢github的原作者
- # 该脚本源于https://github.com/jackbrookes/batch-ppt-to-pdf/blob/master/batch_ppt_to_pdf.py
[Python Study Notes]批量将ppt转换为pdf v1.0的更多相关文章
- [Python Study Notes]批量将wold转换为pdf
本文代码,由原ppt2pdf.py进行改写 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- Java使用Openoffice将word、ppt转换为PDF
最近项目中要实现WORD的文件预览功能,我们可以通过将WORD转换成PDF或者HTML,然后通过浏览器预览. OpenOffice OpenOffice.org 是一套跨平台的办公室软件套件,能在 W ...
- PHP 实现 word/excel/ppt 转换为 PDF
前段时间负责公司内部文件平台的设计,其中有一个需求是要能够在线浏览用户上传的 office 文件. 我的思路是先将 office 转换成 PDF,再通过 pdf.js 插件解析 PDF 文件,使其能在 ...
- 20171024xlVBA批量获取PPT\WORD\PDF页数
Public Sub ModifyFileNames() Dim FolderPath As String Dim FileNames As Variant Dim dotPos As Long Di ...
- Python爬虫实战:将网页转换为pdf电子书
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...
- [Python Study Notes]物体运动检测
基于opencv的cv2模块实现 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- word、ppt转换为pdf
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- [Python Study Notes]匿名函数
Python 使用 lambda 来创建匿名函数. lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的.在Python中,lambda作 ...
- [Python Study Notes]字符串处理技巧(持续更新)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
随机推荐
- 从零开始学习前端开发 — 11、CSS3选择器
一.基本选择器 1.* 通配符(通用选择器) 2.id选择器 3.class选择器(类选择器) 4.标签选择器(元素选择符) 5.群组选择器 (选择符1,选择符2{...}) 二.层次选择器(关系选择 ...
- 我在vs文本编辑中常用的快捷键----常更新
1. Ctrl+向上键----文本向上滚动 Ctrl+向下键----文本向下滚动 Ctrl+Enter-----向下增加一行 Ctrl+Shift+Enter-------向上增加一行 2. 避 ...
- 一.初识java
1.框架结构 2.main方法 3.转义符 public class Dome01 { public static void main(String[] args) { //main方法, ...
- JSP页面中的pageEncoding和contentType的区别
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> pag ...
- SecurityException
摘录自http://www.cnblogs.com/haorenjie/archive/2012/09/12/2682655.html public boolean checkNetwork() { ...
- /dev/shm 引起的内存统计问题
最近,有个同事问我,怎么准确地描述linux系统到底还有多少内存可供我使用.这里不扯内存碎片问题,就说剩余总量. 如下: cat /proc/meminfo MemTotal: 263796812 k ...
- Js DOM 详解
DOM事件类 基本概念 DOM事件的级别 1.DOM0 element.onclick = function(){} 2.DOM2 element.addEventListener("cli ...
- kindeditor使用
下载地址http://kindeditor.net/down.php @官方文档 使用步骤: 引入js <script charset="utf-8" src="r ...
- JavaScript基础:BOM的常见内置方法和内置对象
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. BOM的介绍 JavaScript的组成 JavaScript基础分为三 ...
- ios GCD将异步转换为同步
在开发中有时需要等网络请求完成之后拿到数据做一些操作,而且有时是同时好几个网络请求同时发起.这时会有对异步操作进行更进一步控制的场景,不单网络请求,有时一些其他本地文件,多张图片处理等可能都会遇到这种 ...