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
#             )

学无止境,谦卑而行.

目录
相关文章
|
3月前
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。
|
22天前
|
人工智能 索引 Python
[oeasy]python094_使用python控制音符列表_midi_文件制作
本文介绍了如何使用Python控制音符列表制作MIDI文件。首先回顾了列表下标索引(正数和负数)的用法,接着通过`mido`库实现MIDI文件生成。以《两只老虎》为例,详细解析了代码逻辑:定义音高映射、构建旋律列表、创建MIDI文件框架,并将音符插入音轨。还探讨了音符时值与八度扩展的实现方法。最终生成的MIDI文件可通过不同平台播放或编辑。总结中提到,此技术可用于随机生成符合调性的旋律,同时引发对列表其他实际应用的思考。
35 5
|
3月前
|
Python
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
198 69
|
2月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
93 10
|
3月前
|
Shell 开发者 Docker
Python文件打包:一站式指南
本文深入探讨Python文件打包的各种方法,从基础的zip和tar工具到高级的setuptools、PyInstaller、cx_Freeze等,涵盖Docker镜像、虚拟环境及自包含可执行文件的打包方式。通过示例代码与详细解析,帮助开发者根据项目需求选择合适的打包方案,提升代码分发与部署效率。内容全面,适合各水平读者学习参考。
205 7
|
3月前
|
文字识别 程序员 UED
Python + 腾讯云,多页PDF发票识别一键搞定!
程序员晚枫团队推出了基于Python和腾讯云的多页PDF发票识别功能!通过一行代码即可实现整本PDF发票的高效识别,并直接导出为Excel文件,极大提升工作效率。此次更新修复了仅识别第一页的bug,支持多页PDF完整识别。未来还将拓展更多票据类型、优化速度并加强平台合作。欢迎用户体验并提出建议,共同推动开源项目poocr的成长与进化!
|
4月前
|
存储 算法 文件存储
探秘文件共享服务之哈希表助力 Python 算法实现
在数字化时代,文件共享服务不可或缺。哈希表(散列表)通过键值对存储数据,利用哈希函数将键映射到特定位置,极大提升文件上传、下载和搜索效率。例如,在大型文件共享平台中,文件名等信息作为键,物理地址作为值存入哈希表,用户检索时快速定位文件,减少遍历时间。此外,哈希表还用于文件一致性校验,确保传输文件未被篡改。以Python代码示例展示基于哈希表的文件索引实现,模拟文件共享服务的文件索引构建与检索功能。哈希表及其分布式变体如一致性哈希算法,保障文件均匀分布和负载均衡,持续优化文件共享服务性能。
|
5月前
|
文字识别 Serverless 开发工具
【全自动改PDF名】批量OCR识别提取PDF自定义指定区域内容保存到 Excel 以及根据PDF文件内容的标题来批量重命名
学校和教育机构常需处理成绩单、报名表等PDF文件。通过OCR技术,可自动提取学生信息并录入Excel,便于统计分析和存档管理。本文介绍使用阿里云服务实现批量OCR识别、内容提取、重命名及导出表格的完整步骤,包括开通相关服务、编写代码、部署函数计算和设置自动化触发器等。提供Python示例代码和详细操作指南,帮助用户高效处理PDF文件。 链接: - 百度网盘:[链接](https://pan.baidu.com/s/1mWsg7mDZq2pZ8xdKzdn5Hg?pwd=8866) - 腾讯网盘:[链接](https://share.weiyun.com/a77jklXK)
474 5
|
5月前
|
文字识别 BI
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
537 8
|
5月前
|
人工智能 编解码 文字识别
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
675 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具

热门文章

最新文章

推荐镜像

更多