当前位置: 首页 > news >正文

python将word文件转换成pdf文件

要将word文件转换成pdf文件,可以使用Python的pywin32库结合Microsoft Office软件来实现。
方法一:

import win32com.client as win32def word_to_pdf(input_file, output_file):word = win32.gencache.EnsureDispatch('Word.Application')doc = word.Documents.Open(input_file)doc.SaveAs(output_file, FileFormat=17)doc.Close()word.Quit()# 示例使用
input_file = 'input.docx'
output_file = 'output.pdf'
word_to_pdf(input_file, output_file)

在代码中,首先导入了win32com.client模块,并使用EnsureDispatch方法来创建一个Word应用程序的对象。然后使用Documents.Open方法打开输入的Word文件。

通过调用SaveAs方法,并将FileFormat参数设置为17,可以将Word文件保存为PDF格式。最后,使用Close方法关闭打开的文档,并使用Quit方法关闭Word应用程序。

请注意,此代码需要安装pywin32库和Microsoft Office软件才能正常运行。

方法二:
此方法适用于linux和Windows环境,方法一只适用于Windows环境

# word转Pdf
def word_change_pdf(word_file_path):"""将word文件转换成pdf文件:param word_file_path: word文件地址:return: 返回转成的pdf地址信息"""suffix = os.path.basename(word_file_path).split('.')[1]# 另存为pdf文件pdf_path = word_file_path.replace(suffix, "pdf")out_dir = pdf_path.rsplit('/', 1)[0] + '/'if 'window' in os_system:# LibreOffice本地位置D:/Download/LibreOffice/program/soffice.execommand = ['D:/Download/LibreOffice/program/soffice.exe', '--convert-to', 'pdf', '--outdir', out_dir,word_file_path]else:# LibreOffice在虚拟机的位置:/usr/bin/libreoffice7.6command = ['/opt/libreoffice7.6/program/soffice.bin', '--convert-to', 'pdf', '--outdir', out_dir,word_file_path]subprocess.Popen(command).communicate()return pdf_path

相关文章:

  • PHPExcel导出excel
  • Python调用pyspark报错整理
  • 在java中一般什么时候用==
  • 打卡今天学习 Linux
  • 美国服务器如何
  • 1 月 Web3 游戏行业概览:市场实现空前增长
  • [项目管理] 如何使用git客户端管理gitee的私有仓库
  • 【CV论文精读】EarlyBird: Early-Fusion for Multi-View Tracking in the Bird’s Eye View
  • LRU缓存
  • 图灵日记之java奇妙历险记--抽象类和接口
  • Redis核心技术与实战【学习笔记】 - 31.番外篇:Redis客户端如何与服务器端交换命令和数据
  • k8s 部署java应用 基于ingress+jar包
  • 【iOS ARKit】3D 人体姿态估计
  • 三丰云免费云服务器测评
  • Kubernetes基础(十五)-k8s网络通信
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【面试系列】之二:关于js原型
  • 2019年如何成为全栈工程师?
  • Bytom交易说明(账户管理模式)
  • CSS魔法堂:Absolute Positioning就这个样
  • Joomla 2.x, 3.x useful code cheatsheet
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • JS专题之继承
  • 阿里云前端周刊 - 第 26 期
  • 读懂package.json -- 依赖管理
  • 七牛云假注销小指南
  • 什么是Javascript函数节流?
  • 微信小程序实战练习(仿五洲到家微信版)
  • 赢得Docker挑战最佳实践
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 从如何停掉 Promise 链说起
  • (07)Hive——窗口函数详解
  • (C语言)fread与fwrite详解
  • (ibm)Java 语言的 XPath API
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (二)正点原子I.MX6ULL u-boot移植
  • (六)激光线扫描-三维重建
  • (四)鸿鹄云架构一服务注册中心
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .naturalWidth 和naturalHeight属性,
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET 读取 JSON格式的数据
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .Net(C#)自定义WinForm控件之小结篇
  • .sdf和.msp文件读取
  • @Async注解的坑,小心
  • [20181219]script使用小技巧.txt
  • [Android 数据通信] android cmwap接入点
  • [Android]通过PhoneLookup读取所有电话号码
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [C++]高精度 bign (重载运算符版本)
  • [EFI]Atermiter X99 Turbo D4 E5-2630v3电脑 Hackintosh 黑苹果efi引导文件
  • [Hive] CTE 通用表达式 WITH关键字
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】