Word 批量转 PDF
发布日期:2021-06-30 11:42:36
浏览次数:3
分类:技术文章
本文共 1338 字,大约阅读时间需要 4 分钟。
现实中我们大多数人都做过将 Word 文件转成 PDF 文件的工作,如果需要转换的文件较少时,我们自己手动转没什么问题,但如果需要转换的文件比较多时,手动转起来也是一个不小的工作量,这时我们就需要找一个更加便利、高效的方式了。我们使用 Python 就能实现将 Word 文件批量转成 PDF 文件,因此,当我们需要转换的文件比较多时,就可以考虑使用这种方式了。
转换功能的实现需要用到第三方库 comtypes
,安装使用 pip install comtypes
即可,实现的基本思路是:我们将需要转换的 Word 文件放在一个目录下,通过 Python 实现对文件的遍历、转换工作。
转换功能的代码实现也比较简单,如下所示:
def get_file(input_path, output_path): # 获取所有文件名的列表 filename_list = os.listdir(input_path) # 获取所有 Word 文件名列表 wordname_list = [filename for filename in filename_list \ if filename.endswith((".doc", ".docx"))] for wordname in wordname_list: # 分离 Word 文件名称和后缀,转化为 PDF 名称 pdfname = os.path.splitext(wordname)[0] + ".pdf" # 如果当前 Word 文件对应的 PDF 文件存在,则不转化 if pdfname in filename_list: continue # 拼接路径和文件名 wordpath = os.path.join(input_path, wordname) pdfpath = os.path.join(output_path, pdfname) # 生成器 yield wordpath, pdfpathdef word2pdf(input_path, output_path): word = comtypes.client.CreateObject("Word.Application") word.Visible = 0 for wordpath, pdfpath in get_file(input_path, output_path): newpdf = word.Documents.Open(wordpath) newpdf.SaveAs(pdfpath, FileFormat=17) newpdf.Close()
我们看一下效果,Word 文件内容如下所示:
看一下转换后的 PDF 文件: 我们可以看到,无论是文字样式还是图片,转换的效果都比较好。源码可在公众号 Python小二 后台回复 200504 获取。
转载地址:https://ityard.blog.csdn.net/article/details/105914863 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月25日 19时59分40秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
超越白皮书8:穿云而过的闪电网络
2019-04-30
AMM做市无常损失对冲分析系列(一)—— 损益及期权对冲模型构建
2019-04-30
JS中document对象和window对象有什么区别
2019-04-30
【python练习题】遍历1
2019-04-30
【matlab】显示图片且下方显示文字
2019-04-30
关于greater<int>以及类模板的一些理解
2019-04-30
对于时间复杂度的通俗理解
2019-04-30
如何输入多组数据并输出每组数据的和?
2019-04-30
基于CentOS 7的Linux常用命令行命令
2019-04-30
行阶梯型矩阵
2019-04-30
信号量机制
2019-04-30
临界资源与临界区
2019-04-30
matlab中uint8,double,im2double和im2uint8的区别
2019-04-30
数字图像处理总复习
2019-04-30
图像去噪(包含修正的阿尔法均值滤波及通用滤波方法代码)
2019-04-30
SVM进行人脸检测
2019-04-30
C++学习笔记
2019-04-30
图像处理学习笔记
2019-04-30
Machine Learning Onramp on MATLAB 学习笔记
2019-04-30
Machine Learning with MATLAB 1.1 to 2.2
2019-04-30