现实中我们大多数人都做过将 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 = 0for wordpath, pdfpath in get_file(input_path, output_path):newpdf = word.Documents.Open(wordpath)newpdf.SaveAs(pdfpath, FileFormat=17)newpdf.Close()

我们看一下效果,Word 文件内容如下所示:

看一下转换后的 PDF 文件:

我们可以看到,无论是文字样式还是图片,转换的效果都比较好。

Word 批量转 PDF​mp.weixin.qq.com

c 调用openoffice word转pdf_Word 批量转 PDF相关推荐

  1. c 调用openoffice word转pdf_批量 Word 转 PDF 方法

    - START -手上有近百个 Word 文档需要转为 PDF, 怎么办?难道要一个一个的导出吗?确实,Office2010 以后版本的 Word 可以直接导出 PDF,是时候让 Python 来替我 ...

  2. 使用VBS实现word、excel批量转换为pdf

    使用VBS实现word.excel批量转换为pdf 由于最近我家tiger有这方面的需求,且她单位用的是office 2007的32位系统,网上python转换的方法无法奏效,所以使用通用性还可以的V ...

  3. ## 以下代码主要实现对Word PPT等批量转换为 PDF

    以下代码主要实现对Word PPT等批量转换为 PDF 可先百度查阅os库 import os import comtypes.clientdef get_path_word():pathpath = ...

  4. python自动办公 pdf_Python将word文档批量转PDF

    1 ''' 2 #python批量将word文档转换成PDF文件3 ''' 4 #导入所需库 5 from docx importDocument6 from docx.enum.text impor ...

  5. 关于python:如何将Word文档批量转换为PDF文档

    Q:         我们在实际工作中很容易发现,有些时候我们需要将Word文档转换为PDF文档,如果只是一个文件,我们也只是需要通过Word提供的转换为PDF文档的功能就可以实现了.但是WPS需要收 ...

  6. Word文档批量转PDF

    最近学习到Word的一个新知识,很是强大.话不多说,现在就给给为观众老爷露上一手. 1.打开一个Word文档 2.按Alt+F11打开代码处理页面 点击ThisDocument打开编辑面板 输入以下代 ...

  7. PPT VBA:批量转PDF

    目录 一.思路 1.获取文件列表 2.遍历文件列表中的文件 3.调用相应过程进生成PDF 4.完成 二.示例代码 三.补充 一.思路 1.获取文件列表 通过fso对象逐层获取主文件夹下的各层子文件夹, ...

  8. php 调用openoffice,PHP调用OpenOffice实现word转PDF的方法

    最近一直在研究PHP word文档转PDF,也在网上搜索了很多类似的资料,大多数都是通过OpenOffice进行转换的. 核心的代码如下: function MakePropertyValue($na ...

  9. linux下安装OpenOffice及使用java调用OpenOffice转换word、Excel为pdf并添加水印

    一.linux下安装OpenOffice OpenOffice是Apache的一款开源的软件,我主要是用来转换office文档成pdf文件,并给其添加水印等. (1)下载安装包 进入主题,首先我们需要 ...

  10. python win32转pdf 横版_Python调用Win32com实现Office批量转PDF

    Python调用Win32com实现Office批量转PDF 需求 一直以来有将诸如Word之类的Office文档转为PDF的需求,此前的方法是挨个打开文档,手动另存为PDF,此方法费时费力,尤其在电 ...

最新文章

  1. dhcp 中继代理配置方法
  2. Python爬虫(十二)_BeautifulSoup4 解析器
  3. 使用网络存储SAN和NAS
  4. 一年中所有节日的排列顺序_计数问题(二)-排列组合的使用
  5. AdaBoost 算法 入门
  6. iOS与H5交互(WKWbebView)
  7. matlab实训心得体会,MatLab实习心得体会
  8. Blender相关的一些链接(持续更新)
  9. spring事务传递机制原理
  10. js文件之间函数的调用
  11. 传言阿里P10赵海平,被P11多隆打3.25后离职,如何评价赵海平对王垠的面试?
  12. IP-guard23个功能模块简介
  13. 4G车载信息终端TBOX车联网数据采集智能网联解决方案
  14. MySQL 从 5.7 到 8.0
  15. python的自省与反射
  16. 如何移植 Arx/ Dbx 模块为 Crx/DBX 模块来支持 AutoCAD 易(值得一看)
  17. Lazada卖家上传产品实操,采采Lazada上货铺货助手,一键采集刊登上架,批量上品删除宝贝上下架更改产品属性,自动翻译,图片文字翻译
  18. 28335之GPIO输出
  19. android调用资源文件配置,Android资源文件
  20. html+css简单立体导航栏

热门文章

  1. linux安装并行geant4,Ubuntu下安装Geant4精选.pdf
  2. 斐波那契数列基本性质
  3. 使用MVC2模式创建新闻网站
  4. 前端数据修改的两种方式
  5. Socket编程中,阻塞与非阻塞的区别
  6. Configuration Opennebula3.8 4.x Virtual Machines Contextualizing
  7. MySQL数据库的导入和导出
  8. 并发编程学习之volatile关键字
  9. 面试题之TCP与UDP的区别
  10. MyBatis内的Mapper接口方法为什么不能重载