前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用python将word文档转换为PDF文档

使用python将word文档转换为PDF文档

作者头像
生信修炼手册
发布2020-12-11 10:39:23
6.9K1
发布2020-12-11 10:39:23
举报
文章被收录于专栏:生信修炼手册生信修炼手册

欢迎关注”生信修炼手册”!

对于windows系统的编程开发,微软一开始提供了基于VB语言的接口,后来又推出了.NET框架。对于word等offices套件的自动化操作,由于原生支持的特性,采用这些语言是最为方便且灵活的,唯一的缺点就是这些语言的学习成本相对较高。

python以简洁易学而出名,在python中,也提供了pywin32这样的模块,对windows官方的API进行了封装,适用于windows平台的编程开发。其功能涵盖了windows平台的方方面面,对于处理word文档这样的任务,自然是远远胜任的。

对于win32模块,将word文档另存为pdf的代码如下

代码语言:javascript
复制
>>> 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的任务,基本用法如下

代码语言:javascript
复制
>>> from docx2pdf import convert
>>> convert("C:/Users/Test/Desktop/out.docx", "C:/Users/Test/Desktop/output.pdf")

在实际测试中,会遇到如下错误

代码语言:javascript
复制
AttributeError: Word.Application.Application

这个报错只是在关闭word进程时的报错,并不会影响转换的pdf文件。当有批量的word需要转换时,用docx2pdf模块,更加的方便。

该模块提供了一个转换脚本,这样通过命令行就可以批量处理了,基本用法如下

代码语言:javascript
复制
# 转换单个文件
docx2pdf myfile.docx
# 将一个目录下的word文档都转换成pdf文件
docx2pdf myfolder/

通过上述方法,可以轻松完成word文档的转换任务,虽然效率上没有那么高,但是胜在免费,而且操作也比较简便。

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档