通过将 Word 文档转换为 PDF,您可以确保文档在不同设备上呈现一致,并防止其他人对文档内容进行非授权修改。此外,在你需要打印文档时,转换为PDF还能确保打印输出的准确性。本文将介绍如何使用Python 库将Word文档转换为PDF格式

  • Python 将 Word DOCX/DOC 转换为 PDF
  • Python 将 Word转换为加密的PDF
  • Python 将 Word转为 PDF时嵌入字体

Python Word库安装

本文中使用到的python库为Spire.Doc for Python, 它能轻松实现 Word 文档的创建、读取、编辑和转换等功能。要使用此产品,可以通过以下pip 命令将其安装到你的 VS Code中。

pip install Spire.Doc

详细安装教程可参考: 如何在 VS Code中安装 Spire.XLS for Python

Python 将 Word DOCX/DOC 转换为 PDF

要实现该转换,仅需加载一个 .doc 或 .docx 文档,然后使用 Document.SaveToFile(string fileName, FileFormat.PDF) 方法就能将Word转为PDF格式。完整代码如下:

from spire.doc import *
from spire.doc.common import * # 创建Document对象
document = Document() # 加载Word文档
document.LoadFromFile("清单.docx") # 将文档保存为PDF格式
document.SaveToFile("Word转PDF.pdf", FileFormat.PDF)
document.Close()

Python 将 Word转换为加密的PDF

除了简单的Word转PDF外,Spire.Doc for Python 还提供了 ToPdfParameterList 类来控制转换过程。你可以先为生成的PDF设置密码,然后在转换时用Document.SaveToFile(string fileName, ToPdfParameterList paramList) 方法来将Word保存为加密的PDF文件。完整代码如下:

from spire.doc import *
from spire.doc.common import * # 创建Document对象
document = Document() # 加载Word文档
document.LoadFromFile("清单.docx") # 创建ToPdfParameterList对象
parameter = ToPdfParameterList() # 为生成的PDF文件设置打开密码和权限密码
openPsd = "abcd"
permissionPsd = "1234"
parameter.PdfSecurity.Encrypt(openPsd, permissionPsd, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit) # 将文档保存为加密的PDF
document.SaveToFile("输出文件.pdf", parameter)
document.Close()

Python 将 Word转为 PDF时嵌入字体

将字体嵌入到PDF中能确保文档在不同设备上正确显示,避免由于缺少字体而导致的问题。这对于包含自定义字体或特殊字形的文档尤其重要。Spire.Doc for Python 提供的ToPdfParameterList.IsEmbeddedAllFonts 属性能帮你实现Word转 PDF时嵌入字体。完整代码如下:

from spire.doc import *
from spire.doc.common import * # 创建Document对象
document = Document() # 加载Word文档
document.LoadFromFile("清单.docx") # 创建ToPdfParameterList对象
parameter = ToPdfParameterList() # 将字体嵌入到生成的PDF中
parameter.IsEmbeddedAllFonts = True # 将文档保存为PDF
document.SaveToFile("嵌入字体.pdf", parameter)
document.Close()

如果你想在转换Word到PDF时压缩图片以减小生成PDF的文件大小,可通过 Document.JPEGQuality 属性设置图片质量。此外,ToPdfParameterList 类还支持在转换时保留原有书签,或者按照标题创建新书签。

# 根据 Word 中的标题创建 PDF 书签
parames.CreateWordBookmarksUsingHeadings = True # 根据 Word 中的现有书签创建 PDF 书签
#parames.CreateWordBookmarks = True

Python 实现Word转PDF的更多相关文章

  1. 用python将word转pdf、doc转docx等

    word ==> pdf def doc2pdf(file_path): """ word格式转换doc|docx ==> pdf :return: &quo ...

  2. python word转pdf

    原理 使用python win32 库 调用word底层vba,将word转成pdf 安装pywin32 pip install pywin32 python代码 from win32com.clie ...

  3. 深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  4. Python实现doc转化pdf

    Python实现doc转化pdf python源码实现doc转化pdf #-*- coding:utf-8 -*- # doc2pdf.py: python script to convert doc ...

  5. 用Python将word文件转换成html(转)

    用Python将word文件转换成html   序 最近公司一个客户大大购买了一堆医疗健康方面的科普文章,希望能放到我们正在开发的健康档案管理软件上.客户大大说,要智能推送!要掌握节奏!要深度学习!要 ...

  6. word转pdf

    很多人在工作经常会遇到word转pdf功能,word转pdf还是比较复杂,网上各种包,如python的各种转换包,其实是存在很多问题 的,尤其是对比较复杂的格式,真正的还的是调用组件来转换,这里介绍的 ...

  7. 批量转换word为pdf

    自己写的一个小工具,用于批量转换word为pdf,使用方式: 将完整代码拷贝到文档中,并修改名称为words2pdfs.py将该文件拷贝到需要转换的文档目录下在终端中输入python words2pd ...

  8. Python编程初学者指南PDF高清电子书免费下载|百度云盘

    百度云盘:Python编程初学者指南PDF高清电子书免费下载 提取码:bftd 内容简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python可以用于很多的领域,从科学计算 ...

  9. 【源码】Word转PDF V1.0.1 小软件,供新手参考

    昨天有一朋友让我帮忙找一款Word转PDF的软件,今天自己捣鼓出点成果封装个Helper供大家使用~ 开源地址:https://github.com/dunitian/WordConvertPDF 软 ...

  10. java word 转 pdf

    这里使用jacob将word转pdf,使用的是jacob.jar import java.io.File;import com.jacob.activeX.ActiveXComponent;impor ...

随机推荐

  1. Java如何实现去重?这是在炫技吗?

    大家好,我3y啊.由于去重逻辑重构了几次,好多股东直呼看不懂,于是我今天再安排一波对代码的解析吧.austin支持两种去重的类型:N分钟相同内容达到N次去重和一天内N次相同渠道频次去重. Java开源 ...

  2. ChatGPT教我用200行代码写一个简版Vue框架 - OpenTiny

    AI 是未来最好的老师 最近,我正在准备一份关于 Vue 基础的学习材料.期间我突发奇想:能否利用现在热门的 ChatGPT 帮我创建学习内容?其实 Vue 本身不难学,特别是基础用法,但是,如果你想 ...

  3. 逆向之Ja3指纹学习

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! tls tls实际上前身就 ...

  4. 前端vue自定义简单实用下拉筛选 下拉菜单

    前端vue自定义简单实用下拉筛选 下拉菜单, 下载完整代码请访问: https://ext.dcloud.net.cn/plugin?id=13020 效果图如下:     #### 使用方法 ``` ...

  5. 自然语言处理 Paddle NLP - 检索式文本问答-理论

    问答系统(Question Answering System,QA) 是信息检索系统的一种高级形式,它能用准确.简洁的自然语言回答用户用自然语言提出的问题.其研究兴起的主要原因是人们对快速.准确地获取 ...

  6. ThinkPHP6.0 链式SQL语句

    ThinkPHP6.0 链式SQL语句 查询单个数据 $user = Db::query('select * from `user`'); $user=Db::table('user')->wh ...

  7. vue3中使用defineExpose报TS-2339

    开头先把错误贴上 src/hooks/usePageSearch.ts:9:27 TS2339: Property 'getPageData' does not exist on type '{ $: ...

  8. 【小小Demo】微信公众号如何接入微信机器人

    微信对话开放平台文档 官方文档 平台简介 微信对话开放平台开放了微信在对话领域积累多年的的智能对话技术,开发者及非开发者可简单.快速地搭建智能对话机器人(智能客服), 并接入公众号.小程序等,为业务赋 ...

  9. 快速搭建 phpmyadmin 开发环境

    真的很喜欢 phpmyadmin 这个 PHP 程序. 虽然工作上基本都用 Navicat,但是很多东西都是习惯了,就很难改变! 比如建表,执行 SQL 语句,界面操作肯定是 phpmyadmin 更 ...

  10. 2023CCPC大学生程序设计竞赛-nhr

    新生菜菜第一次参加这种大型比赛,还是有点紧张的,CCPC我们队就A了三题,铜牌.第一道,以为是签到,然后就交给clk了,我和crf看下一道过的题比较多的,然后感觉是一个滑动窗口,另一道题是纯数学公式. ...