用Python批处理将WORD文件转换成PDF格式

  • 一、问题分析
    • key words:批处理、WORD转换PDF、办公自动化
  • 二、材料准备
  • 三、代码实现
  • ☆其他问题:日常遇到问题,整理笔记不易,欢迎交流~~~

一、问题分析

key words:批处理、WORD转换PDF、办公自动化

日常办公免不了遇到Word转PDF格式的事情,本文运用Python将某路径下的包括“.docx”和“.doc”两种格式的所有Word文档,批量转换成PDF格式,并存储于指定路径中。

二、材料准备

1、win32com模块的安装:右键“开始”,在windows powershell超管下输入如下指令:

pip install pypiwin32


库函数的安装可参考我其他文章:
《在Pycharm引入numpy、matplotlib库的一些操作记录》
2、文件准备:

三、代码实现

import os
import datetime
from win32com.client import constants, gencachedef words_to_pdfs(wordPath, pdfPath):# 输入:wordPath文档所在的路径,pdfPath存放PDF的路径# 功能:将已给wordPath中的.doc和.docx文件生成为.pdf格式的文件,并存放于pdfPath路径下。# 判断pdfPath路径是否已存在,如若不存在,则创建if not os.path.exists(pdfPath):  # 判断存放PDF的文件夹是否存在os.makedirs(pdfPath)  # 若PDF文件夹不存在就创建# 遍历wordPath下的.doc和.docx文件,将符合条件的文档进行转换i = 0for filename in os.listdir(wordPath):if os.path.splitext(filename)[1] == '.docx' or os.path.splitext(filename)[1] == '.doc':i += 1word_path = wordPath + '\\' + filenamepdf_path = pdfPath + '\\' + os.path.splitext(filename)[0] + '.pdf'# print(word_Path)# print(pdf_Path)print('正在转换第 {} 个文件:\n    {}'.format(i, filename))try:word = gencache.EnsureDispatch('Word.Application')doc = word.Documents.Open(word_path, ReadOnly=1)doc.ExportAsFixedFormat(pdf_path,constants.wdExportFormatPDF,Item=constants.wdExportDocumentWithMarkup,CreateBookmarks=constants.wdExportCreateHeadingBookmarks)except Exception as e:print("转换异常,异常是:{}".format(e))word.Quit(constants.wdDoNotSaveChanges)print('本路径下一共有{}个WORD文件'.format(i))startTime_word2pdf = datetime.datetime.now()  # 开始时间
if __name__ == '__main__':word_Path = r"H:\deal_office\deal_word2pdf"pdf_Path = "H:\\deal_office\\deal_word2pdf\\result"words_to_pdfs(word_Path, pdf_Path)endTime_word2pdf = datetime.datetime.now()  # 结束时间
print('本次WORD转换成PDF格式一共用了:%0.2f秒' % (endTime_word2pdf - startTime_word2pdf).seconds)

运行结果如下:

☆其他问题:日常遇到问题,整理笔记不易,欢迎交流~~~

在编程的时候,我有以下代码:

###'''
for filename in os.listdir(wordPath):if os.path.splitext(filename)[1] == '.docx' or os.path.splitext(filename)[1] == '.doc':i += 1word_path = wordPath + '\\' + filenamepdf_path = pdfPath + '\\' + os.path.splitext(filename)[0] + '.pdf'# print(word_Path)# print(pdf_Path)print('正在转换第 {} 个文件:\n    {}'.format(i, filename))try:word = gencache.EnsureDispatch('Word.Application')doc = word.Documents.Open(word_path, ReadOnly=1)except Exception as e:print("打开WORD文件异常,异常是:{}".format(e))try:doc.ExportAsFixedFormat(pdf_path,constants.wdExportFormatPDF,Item=constants.wdExportDocumentWithMarkup,CreateBookmarks=constants.wdExportCreateHeadingBookmarks)except Exception as e:print("转换异常,异常是:{}".format(e))finally:word.Quit(constants.wdDoNotSaveChanges)print('本路径下一共有{}个WORD文件'.format(i))
###'''

点击运行的时候,一直报错,如下图:运行的时候有问题,但是调试就能成功。


后来查询资料得知,try…except…finally有时候不能连续使用,可以了解一下堆栈的问题,反复用栈,会大才小用,容易报错。

注:根据读者提醒,现已更新为某word在读取转换后立刻将其关闭。

用Python批处理将WORD文件转换成PDF格式(工具:win32com模块)相关推荐

  1. Acrobat如何将word文件转换成pdf格式

    很多朋友电脑装了Adobe Acrobat,却不知道Acrobat如何将word文件转换成pdf格式,现在就给大家讲解一下.比如,我们电脑安装Adobe Acrobat  Professional 7 ...

  2. 将word文件转换成PDF的两种方法

    由于工作需要,使用了两种方式实现了word文件转PDF的功能.以下的程序是我使用VB6编写,供大家参考. 第一种方法,使用PDFMAKERAPILib,使用这种方法,可以设置文件的安全性.这种方式是A ...

  3. Word怎么转换成PDF格式的文件

    Word怎么转换成PDF格式的文件?现在很多办公室都会接触到类似的问题,对于普通员工来说,领导说什么就是什么,领导让怎么做就得怎么做.小编每天都是各种资料和报告,领导前几日有发了不少Word文件让我想 ...

  4. 和doc的区别怎么转换手机_如何把doc文件转换成PDF格式?高手告诉你应该这么做...

    视频步骤: 知乎视频​www.zhihu.com 有时候老师让交的实验报告文件格式必须为PDF格式,因为PDF与不同的操作系统和软件版本具有很好的兼容性,所以大多数人都喜欢将Word转换成PDF.但有 ...

  5. react在线浏览doc_如何把doc文件转换成PDF格式?教你一招秒实现

    有时候老师让交的实验报告文件格式必须为PDF格式,因为PDF与不同的操作系统和软件版本具有很好的兼容性,所以大多数人都喜欢将Word转换成PDF.但有的同学的Word版本不能直接将doc文件转换成PD ...

  6. 两种将ppt文件转换成pdf格式的方法

    对于常接触办公文档的童鞋们来说,应该对pdf文件并不陌生吧,pdf具有跨平台.稳定性.安全性阅读良好等优势,正因为如此,许多企业将pdf作为一种重要的文档因为工作需求常常需要将编辑好的ppt转换成pd ...

  7. cad导出pdf_如何使用CAD手机看图软件将DWG格式图纸文件转换成PDF格式?

    在使用CAD手机看图软件修改好CAD图纸后想要发送给其他人,怎么将手机中DWG格式图纸文件转换成PDF格式呢?接下来就给大家介绍一下CAD手机看图软件浩辰CAD看图王手机版中将DWG格式图纸文件转换成 ...

  8. cad导出pdf_如何将cad文件转换成pdf格式?

    据说,有人想要将cad文件转换格式,说是想要转成pdf格式的. 请问那个人在哪里,我想找他好好聊一聊,毕竟小编我有的是方法! 有些文件格式转换器,可能很难将cad的文件转成PDF格式,所以这里建议大家 ...

  9. 如何将CAJ文件转换成PDF格式?分享两种实用的方法

    CAJ是一种特定的文献格式,通常用于中国学术期刊和学位论文等.在学习生活中我们查阅一些文献资料,一些权威文献报刊通常情况下都是CAJ文件格式,打开它需要使用专业的阅读工具 ,这时候就需要将它转换成PD ...

最新文章

  1. C#精髓【月儿原创】第一讲 使用垃圾回收器
  2. Vue单文件组件环境配置
  3. 网络编程——sockaddr 与 sockaddr_in
  4. 2021年度训练联盟热身训练赛第一场 E Early Orders 思维 + 栈
  5. M. Monster Hunter(树形dp)
  6. int指针初始化_C++:变量,指针,引用const,extern,using,typedef,decltype关键字
  7. 环回测试能够提供什么信息_VIAVI | 全面对比“真双向分析”与“环回测试”,结果一目了然!...
  8. 去除lcd图片的摩尔纹_送上妊娠纹的最强攻略!几十款热门产品大测评!
  9. vs2005 编码转换后编译的时候会出错,”error c101008a“,处理方法
  10. SQL递归查询(with cte as)
  11. 2014年黑金FPGA原创教程规划发布
  12. [RK3288][Android6.0] 音频输入接口Mic In和Line In
  13. 我男友是个学霸,你们输给DOTA,我输给代码……
  14. html获取当前网页ip和端口,js获取当前访问者的IP地址和所属地市代码
  15. 如何下载网页上的视频?
  16. 华为android内存扩大,安卓手机运行内存越来越不够用,华为却放出了这一招来解决!...
  17. vb雅西高速计算机考试,2016年高中信息技术学业水平考试VB程序复习题.doc
  18. 中英文翻译功能 php,PHP微信开发之翻译功能
  19. 阿里云2017年度贡献者荣誉榜出炉
  20. xpath的extract()方法

热门文章

  1. Oracle11g导入DMP文件并导出为CSV文件过程全纪录
  2. angular2项目里使用 Spin(加载中)
  3. 语言(Language)和语法(Syntax)简述
  4. .net core 和 WPF 开发升讯威在线客服系统:使用 WebSocket 实现访客端通信
  5. 阿里云设置密钥对登录服务器
  6. VScode 常用必备插件
  7. 虚拟场景+AR特效,世优科技助力京东手机华为新品发布会MR直播
  8. 根治偏头痛及各种头痛病症
  9. 站长SEO优化排名选择什么样的站群服务器
  10. 前端面试之计算机网络篇