Python——将PPT和Word转为PDF文件

简介: Python——将PPT和Word转为PDF文件

前言

通过win32com.client将PPT和Word文件转为PDF格式

内容

import fitz  # pip install pymupdf
import win32com.client
import os
def ppt2pdf(filename, output_filename):
    """
    PPT文件导出为pdf格式
    :param filename: PPT文件的名称
    :param output_filename: 导出的pdf文件的名称
    :return:
    """
    ppt_app = win32com.client.Dispatch('PowerPoint.Application')
    ppt = ppt_app.Presentations.Open(filename)
    ppt.SaveAs(output_filename, 32)
    ppt_app.Quit()
def doc2pdf(doc_path, pdf_path):
     """
     word转pdf
    :param doc_path: word文件路径
    :param pdf_path: 生成pdf文件路径
    """
    word = win32com.client.gencache.EnsureDispatch('Word.Application')
    doc = word.Documents.Open(doc_path, ReadOnly=1)
    doc.ExportAsFixedFormat(pdf_path,
                            win32com.client.constants.wdExportFormatPDF,
                            Item=win32com.client.constants.wdExportDocumentWithMarkup,
                            CreateBookmarks=win32com.client.constants.wdExportCreateHeadingBookmarks)
    word.Quit(win32com.client.constants.wdDoNotSaveChanges)
def pdf2img(pdf_path, zoom_x, zoom_y):
    """
    参数说明
    :param pdf_path: pdf文件的路径
    :param zoom_x: x轴方向的缩放系数
    :param zoom_y: y轴方向的缩放系数
    """
    doc = fitz.open(pdf_path)  # 打开pdf文件
    for page in doc:  # 逐页循环
        # print(page.number)
        pic = page.get_pixmap(matrix=fitz.Matrix(zoom_x, zoom_y))  # 将页面渲染为图片
        dir_save = os.path.dirname(pdf_path)  # 结果保存的路径与pdf文件所在的路径同级
        pdf_name = os.path.basename(pdf_path).split('.pdf')[0]
        pic.save(f'{dir_save}/{pdf_name}-page-{page.number + 1}.png')  # 逐页将pdf存储为PNG格式
        if page.number == 1:  # 只对PDF前两页做转换
            break
    doc.close()  # 关闭读取pdf文件
for root, dirs, files in os.walk(r"\\Desktop-le2mgrr\宋延余共享文件夹\碳相关资料收集"):  # 将目录修改为需要批量转换的PDF目录
    for file in files:
        file_path = os.path.join(root, file)
        if file.endswith((".doc", ".docx")):
            print('doc', file)
            doc2pdf(file_path, os.path.join(root, f"{file}.pdf"))
        if file.endswith((".ppt", ".pptx")):
            print('ppt', file)
            ppt2pdf(file_path, os.path.join(root, f"{file}.pdf"))
# for root, dirs, files in os.walk(r"\\Desktop-le2mgrr\宋延余共享文件夹\碳相关资料收集"):  # 将目录修改为需要批量转换的PDF目录
#     for file in files:
#         if file.endswith(".pdf"):
#             print('pdf', file)
#             pdf2img(
#                 os.path.join(root, file),
#                 zoom_x=3,
#                 zoom_y=3
#             )

学无止境,谦卑而行.

目录
相关文章
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
2764 2
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
2193 68
【PDF提取内容改名】批量提取PDF指定区域内容重命名PDF文件,PDF自动提取内容命名的方案和详细步骤
本工具可批量提取PDF中的合同编号、日期、发票号等关键信息,支持PDF自定义区域提取并自动重命名文件,适用于合同管理、发票处理、文档归档和数据录入场景。基于iTextSharp库实现,提供完整代码示例与百度、腾讯网盘下载链接,助力高效处理PDF文档。
1828 40
|
小程序
公众号如何添加附传Word、Excel、Pdf、PPT文档
公众号里添加一些文档给公众号粉丝下载,比如课件PPT、申请表Word文档、岗位需求Excel表、大赛入围/获奖名单等。公众号本身是不支持直接上传文件的,但我们可以通过附件小程序“间接”上传文件。
1961 0
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
436 0
|
监控 Linux 数据安全/隐私保护
Python实现Word转PDF全攻略:从入门到实战
在数字化办公中,Python实现Word转PDF自动化,可大幅提升处理效率,解决格式兼容问题。本文详解五种主流方案,包括跨平台的docx2pdf、Windows原生的pywin32、服务器部署首选的LibreOffice命令行、企业级的Aspose.Words,以及轻量级的python-docx+pdfkit组合。每种方案均提供核心代码与适用场景,并涵盖中文字体处理、表格优化、批量进度监控等实用技巧,助力高效办公自动化。
2475 0
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
3591 0
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
1112 0
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。

热门文章

最新文章

推荐镜像

更多