[Python Study Notes]批量将wold转换为pdf
本文代码,由原ppt2pdf.py进行改写
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- >>文件: word2pdf.py
- >>作者: liu yang
- >>邮箱: liuyang0001@outlook.com
- >>博客: www.cnblogs.com/liu66blog
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import sys, os
- # 调用com组件包
- import comtypes.client
- def init_word():
- word = comtypes.client.CreateObject("Word.Application")
- word.Visible = 1
- return word
- # 第二步:找到该路径下的所有doc(x)文件,并将其路径添加到cwd
- def convert_files_in_folder(word, folder):
- # 将当前所有文件及文件夹添加进列表
- files = os.listdir(folder)
- # print('files:',files)
- # 将所有以.doc(x)结尾的文件加入cwd path
- pptfiles = [f for f in files if f.endswith((".doc", ".docx"))]
- for pptfile in pptfiles:
- # 加入判断,如果当前转换成的pdf已存在,就跳过不添加
- print(pptfile)
- if pptfile+'.pdf' in files :
- break
- # 加入cwd环境
- fullpath = os.path.join(cwd, pptfile)
- ppt_to_pdf(word, fullpath, fullpath)
- #第三步:将cwd路径下转换成pdf格式
- def ppt_to_pdf(word, inputFileName, outputFileName, formatType = 17):
- # 切片取后缀是否为pdf
- if outputFileName[-3:] != 'pdf':
- outputFileName = outputFileName + ".pdf"
- # 调用接口进行转换
- print(inputFileName)
- deck = word.Documents.Open(inputFileName)
- deck.SaveAs(outputFileName, formatType) # formatType = 17 for word to pdf
- deck.Close()
- if __name__ == "__main__":
- # 创建Word应用
- word = init_word()
- # 得到当前路径
- cwd = os.getcwd()
- # 打印当前路径
- print(cwd)
- # 调用Word进行转换cwd path下的doc(x)格式
- convert_files_in_folder(word, cwd)
- # 转换结束后关闭
- word.Quit()
[Python Study Notes]批量将wold转换为pdf的更多相关文章
- [Python Study Notes]批量将ppt转换为pdf v1.0
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- Python爬虫实战:将网页转换为pdf电子书
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...
- [Python Study Notes]物体运动检测
基于opencv的cv2模块实现 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]匿名函数
Python 使用 lambda 来创建匿名函数. lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的.在Python中,lambda作 ...
- [Python Study Notes]字符串处理技巧(持续更新)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]with的使用
在 Python 2.5 中, with 关键字被加入.它将常用的 try ... except ... finally ... 模式很方便的被复用.看一个最经典的例子: with open('fil ...
- [Python Study Notes]实现对键盘控制与监控
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]实现对鼠标控制
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]WdSaveFormat 枚举
WdSaveFormat 枚举 指定要在保存文档时使用的格式. 版本信息 已添加版本: 名称 值 说明 wdFormatDocument 0 Microsoft Word 格式. wdFormatDO ...
随机推荐
- Linux包管理器
按Linux系统分类 Redhat系列:Redhat(本身就是Centos).Centos.Fedora等,采用Dpkg包管理器 Debian系列:Debian.Ubuntu等,使用RPM包管理器 R ...
- 基于TI CC2650的IPv6 over BLE(BLEach) demo
虽然BLE 5.0协议理论上已经开始支持IPv6了,但是目前市面上还没有可用的实现IPv6通信的BLE产品. 最近在网上看到一个开源的基于contiki系统,在CC2650上实现的IPv6 over ...
- 可变数目参数----关键字params的使用
如何定义和使用可变数目参数的方法,使用关键字params. 即其他语言的可变参数 Code public class App { static void Main() { //常规使用方法 Conso ...
- JDBC 元数据 (DatabaseMetaData,ResultSetMetaData )
Java 通过JDBC获得连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息.根 ...
- 1.(python)__new__与__init__
1.来比较一下__new__与__init__: (1)__new__在初始化实例前调用,__init__在初始化实例之后调用,用来初始化实例的一些属性或者做一些初始操作 # -*- coding: ...
- 修真院java后端工程师学习课程--任务1(day four)
今天学习的是spring框架,内容主要有: spring的概念,主要是做什么的: Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversio ...
- Java 获取年 月 日 时 分 秒
/** * 英文简写(默认)如:2010-12-01 */ public static String FORMAT_SHORT = "yyyy-MM-dd"; /** * 英文全称 ...
- vue 的准备项目架构环境配置
一.环境搭建 中国镜像 composer config repo.packagist composer https://packagist.phpcomposer.com 命令 composer in ...
- mybatis-XML配置文件
<?xml version="1.0" encoding="UTF-8" ?><!--plugins在配置文件中的位置必须要符合要求,否则会报 ...
- junit4X系列--Runner解析
前面我整理了junit38系列的源码,那junit4X核心代码也基本类似.这里我先转载一些关于junit4X源码解析的好文章.感谢原作者的分享.原文地址:http://www.blogjava.net ...