• Python 实现Word转PDF


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

     

  • 相关阅读:
    React框架新手入门
    云游戏下,会带来哪些技术变革
    地理知识:墨卡托坐标系
    Nodejs+vue+mysql网上药店购药系统 9h2k5
    微信小程序echart导出图片
    MyBatis主要的类层次结构(Mybatis工具类)
    python基于django的学生在线考试自动阅卷系统(含错题本功能)
    Nature全球潮汐可视化兼影像数据下载网站:Intertidal change
    Amazon MSK 基于 S3 的数据导出、导入、备份、还原、迁移方案
    【UEFI实战】BIOS中的openssl
  • 原文地址:https://www.cnblogs.com/Yesi/p/17722417.html