欢迎关注”生信修炼手册”!
对于windows系统的编程开发,微软一开始提供了基于VB语言的接口,后来又推出了.NET框架。对于word等offices套件的自动化操作,由于原生支持的特性,采用这些语言是最为方便且灵活的,唯一的缺点就是这些语言的学习成本相对较高。
python以简洁易学而出名,在python中,也提供了pywin32这样的模块,对windows官方的API进行了封装,适用于windows平台的编程开发。其功能涵盖了windows平台的方方面面,对于处理word文档这样的任务,自然是远远胜任的。
对于win32模块,将word文档另存为pdf的代码如下
>>> import win32com
>>> from win32com.client import Dispatch
>>> word = Dispatch('Word.Application')
>>> doc = word.Documents.Open('C:/Users/Test/Desktop/out.docx')
>>> doc.SaveAs('C:/Users/Test/Desktop/output.pdf', 17)
>>> doc.Close()
>>> word.Quit()
需要注意的一点就是,文件需要采用绝对路径,注意上述绝对路径的写法,没有用经典的\\写法,因为这样的写法存在字符转移等问题,用/写法,可以最大程度的保证路径的正确。
为了更加方便的完成word转换pdf的任务,还有一个简历在pywin32基础上的模块-docx2pdf, 该模块支持windows和macOS两个平台,可以方便的批量完成word文档转pdf的任务,基本用法如下
>>> from docx2pdf import convert
>>> convert("C:/Users/Test/Desktop/out.docx", "C:/Users/Test/Desktop/output.pdf")
在实际测试中,会遇到如下错误
AttributeError: Word.Application.Application
这个报错只是在关闭word进程时的报错,并不会影响转换的pdf文件。当有批量的word需要转换时,用docx2pdf模块,更加的方便。
该模块提供了一个转换脚本,这样通过命令行就可以批量处理了,基本用法如下
# 转换单个文件
docx2pdf myfile.docx
# 将一个目录下的word文档都转换成pdf文件
docx2pdf myfolder/
通过上述方法,可以轻松完成word文档的转换任务,虽然效率上没有那么高,但是胜在免费,而且操作也比较简便。
·end·
—如果喜欢,快分享给你的朋友们吧—
原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!
本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有