利用Python将Word&PPT批量转成PDF

注明:本文转自未明学院,仅用于个人学习使用

首先,需要pywin32模块,如果没有的话需要先安装。安装命令:pip install pywin32

从win32com模块中导入Dispatch,constants。其中Dispatch用于调度word和ppt程序,constants用于设置word的一些参数:

from win32com.client import Dispatch,constants

定义word转pdf的函数,doc或者docx都可以直接转成pdf:

def WordToPdf(wordPath, pdfPath):'''wordPath参数对应的是word的完整路径pdfPath参数对应的是pdf的完整路径'''# 调用word程序word =Dispatch('Word.Application')# 打开word文件doc = word.Documents.Open(wordPath)

将word转化成pdf:

    doc.ExportAsFixedFormat(#对应pdf完整的路径pdfPath,# 指定是以 PDF 还是 XPS 格式保存文档constants.wdExportFormatPDF,# 选用,非必须,指定导出过程是仅包括文本,还是同时包括文本和标记Item=constants.wdExportDocumentWithMarkup, # 选用,非必须,指定是否导出书签以及要导出的书签类型。CreateBookmarks=constants.wdExportCreateHeadingBookmarks)

执行完操作后,关闭word程序:

    word.Quit()

给定word和pdf的完整路径:

wordPath = r"C:\Users\admin\Desktop\测试\测试1.doc"
pdfPath = r"C:\Users\admin\Desktop\测试\测试1.pdf"

调用函数将具体的某个word文件转换成pdf:

WordToPdf(wordPath,pdfPath)

成功将word文件转换成pdf格式的文件。

然后是将ppt文件转换成pdf文件:

定义ppt转换成pdf的函数,ppt 或者pptx都可以直接转换:

def PowerPointToPdf(pptPath, pdfPath):'''pptPath参数对应的是ppt的完整路径pdfPath参数对应的是pdf的完整路径'''# 调用ppt程序PowerPoint = Dispatch("PowerPoint.Application")# 显示ppt程序PowerPoint.Visible = 1# 打开指定的ppt文件ppt = PowerPoint.Presentations.Open(pptPath)

将ppt转化成pdf。官方参考链接:
https://docs.microsoft.com/zh-cn/office/vba/api/PowerPoint.Presentation.ExportAsFixedFormat

    ppt.ExportAsFixedFormat(# 指定输出的pdf文件的完整路径pdfPath,# 导出幻灯片时应采用的格式,导出为 PDF 格式constants.ppFixedFormatTypePDF,# 设置打印范围,打印整个文件PrintRange = None)

执行完操作后,关闭ppt程序:

    PowerPoint.Quit()

给定ppt和pdf的完整路径:

pptPath = r"C:\Users\admin\Desktop\测试\01.pptx"
pdfPath2 = r"C:\Users\admin\Desktop\测试\ppt01.pdf"

调用函数将具体的某个ppt文件转化成pdf:

PowerPointToPdf(pptPath,pdfPath2)

以上操作是将单个Word&PPT文件转成PDF文件,接下来教你怎么批量转换成PDF文件,不用一次次手动点击换格式那么麻烦。

word批量转化为pdf

导入os模块用于操作文件路径:

import os

指定word所在文件夹:

word_folder = r"C:\Users\admin\Desktop\测试"

取出文件夹内的每个word文件转换成pdf,就能实现将批量word文件转换成pdf格式的文件了:

for item in os.listdir(word_folder):wordPath = word_folder +os.sep + itemif 'doc' in item and 'docx' not in item:pdfPath = word_folder + os.sep +item.replace('.doc','.pdf')WordToPdf(wordPath,pdfPath)if 'docx' in item :pdfPath = word_folder + os.sep +item.replace('.docx','.pdf')WordToPdf(wordPath,pdfPath)

ppt批量转化为pdf

方法和步骤同word批量转换成pdf一样。

导入os模块用于操作文件路径:

import os

指定ppt所在文件夹:

ppt_folder = r"C:\Users\admin\Desktop\测试"

取出文件夹内的每个ppt文件转换成pdf,就能实现将批量的ppt文件转换成pdf格式的文件了:

for item in os.listdir(ppt_folder):pptPath = ppt_folder +os.sep + itemif 'ppt' in item and 'pptx' not in item :pdfPath = ppt_folder + os.sep +item.replace('.ppt','.pdf')PowerPointToPdf(pptPath,pdfPath)if 'pptx' in item :pdfPath = ppt_folder + os.sep +item.replace('.pptx','.pdf')PowerPointToPdf(pptPath,pdfPath)

Python批量word2pdf、ppt2pdf相关推荐

  1. Python批量实现Word、EXCLE、PPT转PDF文件

    一.绪论背景 在日常办公和文档处理中,有时我们需要将多个Word文档.Excel表格或PPT演示文稿转换为PDF文件.将文档转换为PDF格式的好处是它可以保留文档的布局和格式,并且可以在不同平台上进行 ...

  2. python批量pdf转word,python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  3. python批量jpg转png(顺序排列1.2.3……)、修改文件夹尺寸

    1.python批量修改文件夹jpg转png图片(顺序排列1.2.3--) import os files = os.listdir("D:/Backup/桌面/777") #会按 ...

  4. 使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件、清除缓存文件、解救C盘、拒绝C盘爆炸

    使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件.清除缓存文件.解救C盘.拒绝C盘爆炸 目录

  5. python批量重命名指定目录下所有文件的后缀名

    python批量重命名指定目录下所有文件的后缀名 有个需求,需要把某个文件夹下所有后缀名为.abc的更改为.xyz; #批量重命名指定目录下面所有文件的后缀名. word_dir为需要更改后缀的文件夹 ...

  6. python批量读取dat文件_python编写Windows环境下批量修改文件名

    在日常编程工作中我们经常需要对文件进行操作,而文件一般都是由文件名和扩展名组成的.比如我们经常需要把.dat 格式 转化成 .txt格式,把png改成jgp格式等等.这里我们就教大家如何利用PYTHO ...

  7. json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?

    本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...

  8. python批量提取word指定内容_使用python批量读取word文档并整理关键信息到excel表格的实例...

    目标 最近实验室里成立了一个计算机兴趣小组 倡议大家多把自己解决问题的经验记录并分享 就像在CSDN写博客一样 虽然刚刚起步 但考虑到后面此类经验记录的资料会越来越多 所以一开始就要做好模板设计(如下 ...

  9. 【深度学习入门到精通系列】Python批量实现图像镜像翻转

    ''' Python批量实现图像镜像翻转 函数:DataAugment() 函数功能:扩大数据量 输入参数:dir_path----图片库路径 '''import cv2 import os impo ...

最新文章

  1. 思科路由器ACL通配符
  2. python处理声音
  3. linux无法运行病毒,{转}为什么linux系统不容易中病毒?
  4. 安装完python后怎么使用-python安装后怎么启用
  5. Interview:算法岗位面试—11.02早上上海某银行(上海分行,四大行之一)信息技术岗笔试记录
  6. 学术圈炸了!IEEE限制华为相关专家参与审稿:这操作毁尽三观
  7. ubuntu下的常见12个命令---欢迎补充
  8. Rainboy 的ASII码表
  9. r720换固态硬盘后如何重装系统_联想拯救者 R720 换装 三星 960PRO 512G固态硬盘、重做系统与测试...
  10. 详解SourceOffsite的安装配置解决VSS共享数据库目录的问题
  11. 阅读《资本论》简单思考和笔记
  12. 808通讯协议技术规范消息ID:0x0704数据分析,后附go代码
  13. VS Code格式化代码插件Beautify
  14. J.U.C之AQS:CLH同步队列
  15. unity build报错Type has an extra field of type in the and thus can‘t be serialized error
  16. 数字麦克风DMIC(上)
  17. 彻底搞懂二进制、进制换算如此简单!十进制转化二进制,二进制转化十进制
  18. Codeforces Round #670 (Div. 2) D. Three Sequences(差分序列、数学思维分析)
  19. 生鲜APP开发解决方案
  20. bestcoder 百度之星 1002 列变位法解密

热门文章

  1. java 多个PDF合成一个
  2. 女生适合学UI设计吗
  3. 【小程序】微信小程序重复循环平移动画
  4. 构建ROP链实现远程栈溢出
  5. 项目管理过程-5个管理过程组、10大管理知识域以及对应输入、工具技术和输出
  6. Single Tree Segmentation and Diameter at Breast Height Estimation With Mobile LiDAR
  7. time_wait,不要乱用tcp_tw_recycle和net.ipv4.tcp_tw_reuse
  8. ugui scrollview 3d特效 裁减
  9. 【手把手教你如何从Tushare库下载股票数据,并保存在硬盘当中,第一篇数据过滤】
  10. logback官网地址