本文代码,由原ppt2pdf.py进行改写

  1. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  2. >>文件: word2pdf.py
  3. >>作者: liu yang
  4. >>邮箱: liuyang0001@outlook.com
  5. >>博客: www.cnblogs.com/liu66blog
  6.  
  7. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  8.  
  9. #!/usr/bin/env python
  10. # -*- coding: utf-8 -*-
  11.  
  12. import sys, os
  13. # 调用com组件包
  14. import comtypes.client
  15.  
  16. def init_word():
  17. word = comtypes.client.CreateObject("Word.Application")
  18. word.Visible = 1
  19. return word
  20.  
  21. # 第二步:找到该路径下的所有doc(x)文件,并将其路径添加到cwd
  22. def convert_files_in_folder(word, folder):
  23. # 将当前所有文件及文件夹添加进列表
  24. files = os.listdir(folder)
  25. # print('files:',files)
  26. # 将所有以.doc(x)结尾的文件加入cwd path
  27. pptfiles = [f for f in files if f.endswith((".doc", ".docx"))]
  28. for pptfile in pptfiles:
  29. # 加入判断,如果当前转换成的pdf已存在,就跳过不添加
  30. print(pptfile)
  31. if pptfile+'.pdf' in files :
  32. break
  33. # 加入cwd环境
  34. fullpath = os.path.join(cwd, pptfile)
  35. ppt_to_pdf(word, fullpath, fullpath)
  36.  
  37. #第三步:将cwd路径下转换成pdf格式
  38. def ppt_to_pdf(word, inputFileName, outputFileName, formatType = 17):
  39. # 切片取后缀是否为pdf
  40. if outputFileName[-3:] != 'pdf':
  41. outputFileName = outputFileName + ".pdf"
  42. # 调用接口进行转换
  43. print(inputFileName)
  44. deck = word.Documents.Open(inputFileName)
  45. deck.SaveAs(outputFileName, formatType) # formatType = 17 for word to pdf
  46. deck.Close()
  47.  
  48. if __name__ == "__main__":
  49. # 创建Word应用
  50. word = init_word()
  51. # 得到当前路径
  52. cwd = os.getcwd()
  53. # 打印当前路径
  54. print(cwd)
  55. # 调用Word进行转换cwd path下的doc(x)格式
  56. convert_files_in_folder(word, cwd)
  57. # 转换结束后关闭
  58. word.Quit()

[Python Study Notes]批量将wold转换为pdf的更多相关文章

  1. [Python Study Notes]批量将ppt转换为pdf v1.0

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  2. Python爬虫实战:将网页转换为pdf电子书

    写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...

  3. [Python Study Notes]物体运动检测

    基于opencv的cv2模块实现 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  4. [Python Study Notes]匿名函数

    Python 使用 lambda 来创建匿名函数. lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的.在Python中,lambda作 ...

  5. [Python Study Notes]字符串处理技巧(持续更新)

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  6. [Python Study Notes]with的使用

    在 Python 2.5 中, with 关键字被加入.它将常用的 try ... except ... finally ... 模式很方便的被复用.看一个最经典的例子: with open('fil ...

  7. [Python Study Notes]实现对键盘控制与监控

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  8. [Python Study Notes]实现对鼠标控制

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  9. [Python Study Notes]WdSaveFormat 枚举

    WdSaveFormat 枚举 指定要在保存文档时使用的格式. 版本信息 已添加版本: 名称 值 说明 wdFormatDocument 0 Microsoft Word 格式. wdFormatDO ...

随机推荐

  1. Linux包管理器

    按Linux系统分类 Redhat系列:Redhat(本身就是Centos).Centos.Fedora等,采用Dpkg包管理器 Debian系列:Debian.Ubuntu等,使用RPM包管理器 R ...

  2. 基于TI CC2650的IPv6 over BLE(BLEach) demo

    虽然BLE 5.0协议理论上已经开始支持IPv6了,但是目前市面上还没有可用的实现IPv6通信的BLE产品. 最近在网上看到一个开源的基于contiki系统,在CC2650上实现的IPv6 over ...

  3. 可变数目参数----关键字params的使用

    如何定义和使用可变数目参数的方法,使用关键字params. 即其他语言的可变参数 Code public class App { static void Main() { //常规使用方法 Conso ...

  4. JDBC 元数据 (DatabaseMetaData,ResultSetMetaData )

    Java 通过JDBC获得连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息.根 ...

  5. 1.(python)__new__与__init__

    1.来比较一下__new__与__init__: (1)__new__在初始化实例前调用,__init__在初始化实例之后调用,用来初始化实例的一些属性或者做一些初始操作 # -*- coding: ...

  6. 修真院java后端工程师学习课程--任务1(day four)

    今天学习的是spring框架,内容主要有: spring的概念,主要是做什么的: Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversio ...

  7. Java 获取年 月 日 时 分 秒

    /** * 英文简写(默认)如:2010-12-01 */ public static String FORMAT_SHORT = "yyyy-MM-dd"; /** * 英文全称 ...

  8. vue 的准备项目架构环境配置

    一.环境搭建 中国镜像 composer config repo.packagist composer https://packagist.phpcomposer.com 命令 composer in ...

  9. mybatis-XML配置文件

    <?xml version="1.0" encoding="UTF-8" ?><!--plugins在配置文件中的位置必须要符合要求,否则会报 ...

  10. junit4X系列--Runner解析

    前面我整理了junit38系列的源码,那junit4X核心代码也基本类似.这里我先转载一些关于junit4X源码解析的好文章.感谢原作者的分享.原文地址:http://www.blogjava.net ...