首页 > 编程语言 >Python 实现Word转PDF

Python 实现Word转PDF

时间:2023-09-22 15:11:56浏览次数:46  
标签:Document Word Python 文档 PDF document

通过将 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

 

标签:Document,Word,Python,文档,PDF,document
From: https://www.cnblogs.com/Yesi/p/17722417.html

相关文章

  • 工具diff-pdf
    比较pdf差别https://vslavik.github.io/diff-pdf/brewinstalldiff-pdf使用diff-pdf--viewa.pdfb.pdf#ordiff-pdf--output-diff=diff.pdfa.pdfb.pdf......
  • Python,OpenCV的图像直角坐标系转极坐标系的函数
    Hough圆检测获取瓶口位置和大小'''hough圆变换'''cimg=cv2.cvtColor(bottle,cv2.COLOR_GRAY2BGR)#转换成彩色图circles=cv2.HoughCircles(median,cv2.HOUGH_GRADIENT,1,100,param1=100,param2=60,minRadius=150,maxRadius=160)......
  • 利用Python从现有的Excel表格中复制指定列生成新的Excel文件
    importxlrdimportxlwtimportpatternsaspatternsfile1='通讯专线汇总统计表.xls'file2='附件:历史存量邮电费明细.xls'data1=xlrd.open_workbook(file1)table1=data1.sheet_by_index(0)nrows1=table1.nrowszx_infos=[]#读取“通讯专线汇总统计表.xls”文件中......
  • 【Python爬虫】批量爬取豆瓣电影排行Top250
    ​    今天给大家分享下我刚开始接触Python时学习的爬虫程序,代码部分很简单,不过当时刚开始学习时还是走了不少弯路的。这个爬虫程序应该是很多书里面的入门练手程序,主要就是去豆瓣爬取电影评分排行前250。        本篇文章只做学习交流使用,不涉及任何商业用途......
  • python中,如何优雅的解析和管理命令行参数
    背景我们在编写python程序时,程序中经常会提供多种功能或者模式,在实际使用时根据不同的参数使用不同的功能。那么如何获取命令行传入进来的参数呢?一般方法一般情况下,我们会使用sys模块,如......
  • [885] How to generate automated tables in Word document with Python
    ref:HowtoGenerateAutomatedWordDocumentswithPythonref:docxtpl快速上手使用,数据填入以及循环写入表格CreatingaTemplateBeforeyoucanproceed,youmustfirstcreateyourveryowntemplatedocumentthatisbasicallyanormalMicrosoftWordDocument......
  • [884] How to generate automated Word documents by Python
    ref:python-docxref:HowtoGenerateAutomatedWordDocumentswithPythonref:AutomatingWordDocumentsfromExcelUsingPython|‘docxtpl’Tutorialref:docxtpl快速上手使用,数据填入以及循环写入表格ref:探究Python中的文档自动化工具——docxtplref:Python......
  • 在线问诊 Python、FastAPI、Neo4j — 创建 节点关系
    目录关系:症状-检查关系:疾病-症状代码重构relationship_data.csv症状,检查,疾病,药品,宜吃,忌吃"上下楼梯疼,不能久站,感觉有点肿","膝关节核磁","右膝髌上囊及关节腔少量积液","扶他林","西红柿,香蕉","辣椒,大蒜""眼睛胀痛,干涩,畏光,眼胀,眼痛,看东西有时候清楚有时候不清楚......
  • 【Python深度学习】深度学习中框架和模型的区别
        深度学习是人工智能领域的一股强大力量,它的快速发展离不开深度学习框架和模型的进步。本文将介绍深度学习框架和模型的基本概念、它们之间的联系与区别,以及如何根据项目需求选择合适的框架和模型。一、深度学习框架        深度学习框架是进行深度学习研......
  • 完美解决TypeError: ‘encoding’ is an invalid keyword argument for this function
    完美解决TypeError:‘encoding’isaninvalidkeywordargumentforthisfunction文章目录报错问题解决方法声明报错问题之前在工作中遇到过这个坑,记录一下问题以及解决方法,不一定针对所有情况都能用,但是可以供大家参考。问题描述如下:TypeError:‘encoding’isaninvalid......