全网最新用python实现各种文件类型转换的方法

 更新时间:2023年05月18日 09:55:04   作者:星幻夜极  
这篇文章主要介绍了用python实现各种文件类型转换的方法,包括word转pdf,excel转pdf,ppt转pdf,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

一、word转pdf

先安装win32库:pip install pywin32

from win32com.client import gencache
from win32com.client import constants, gencache
def createPdf(wordPath, pdfPath):
    """
    word转pdf
    :param wordPath: word文件路径
    :param pdfPath:  生成pdf文件路径
    """
    word = gencache.EnsureDispatch('Word.Application')
    doc = word.Documents.Open(wordPath, ReadOnly=1)
    doc.ExportAsFixedFormat(pdfPath,
                            constants.wdExportFormatPDF,
                            Item=constants.wdExportDocumentWithMarkup,
                            CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
    word.Quit(constants.wdDoNotSaveChanges)
createPdf('D:\桌面\论文阅读笔记.docx','D:\桌面\论文阅读笔记.pdf')

运行结果:

二、excel转pdf

# Import Module
from win32com import client
# Open Microsoft Excel
excel = client.Dispatch("Excel.Application")
# Read Excel File
sheets = excel.Workbooks.Open('F:\书籍借阅信息.xlsx')
work_sheets = sheets.Worksheets[0]
# Convert into PDF File
work_sheets.ExportAsFixedFormat(0, 'F:\书籍借阅信息.pdf')
# 关闭服务
excel.Quit()

运行结果:

三、ppt转pdf

# 1). 导入需要的模块(打开应用程序的模块)
import win32com.client
import os
def ppt2pdf(filename, output_filename):
    """
    PPT文件导出为pdf格式
    :param filename: PPT文件的名称
    :param output_filename: 导出的pdf文件的名称
    :return:
    """
    # 2). 打开PPT程序
    ppt_app = win32com.client.Dispatch('PowerPoint.Application')
    # ppt_app.Visible = True  # 程序操作应用程序的过程是否可视化
    # 3). 通过PPT的应用程序打开指定的PPT文件
    # filename = "C:/Users/Administrator/Desktop/PPT办公自动化/ppt/PPT素材1.pptx"
    # output_filename = "C:/Users/Administrator/Desktop/PPT办公自动化/ppt/PPT素材1.pdf"
    ppt = ppt_app.Presentations.Open(filename)
    # 4). 打开的PPT另存为pdf文件。17数字是ppt转图片,32数字是ppt转pdf。
    ppt.SaveAs(output_filename, 32)
    print("导出成pdf格式成功!!!")
    # 退出PPT程序
    ppt_app.Quit()
# 要处理的目录名称
dirname = 'D:\桌面\智能算法设计与实现'
# 列出指定目录的内容
filenames = os.listdir(dirname)
# for循环依次访问指定目录的所有文件名
for filename in filenames:
    # 判断文件的类型,对所有的ppt文件进行处理(ppt文件以ppt或者pptx结尾的)
    if filename.endswith('ppt') or filename.endswith('pptx'):
        # print(filename)           # PPT素材1.pptx -> PPT素材1.pdf
        # 将filename以.进行分割,返回2个信息,文件的名称和文件的后缀名
        base, ext = filename.split('.')  # base=PPT素材1 ext=pdf
        new_name = base + '.pdf'         # PPT素材1.pdf
        # ppt文件的完整位置: C:/Users/Administrator/Desktop/PPT办公自动化/ppt/PPT素材1.pptx
        filename = dirname + '/' + filename
        # pdf文件的完整位置: C:/Users/Administrator/Desktop/PPT办公自动化/ppt/PPT素材1.pdf
        output_filename = dirname + '/' + new_name
        # 将ppt转成pdf文件
        ppt2pdf(filename, output_filename)

运行结果:

四、图片转pdf

from PIL import Image
import os
# 防止字符串乱码
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
def pic2pdf(img_path, pdf_path):
    file_list = os.listdir(img_path)
    for x in file_list:
        if "jpg" in x or 'png' in x or 'jpeg' in x:
            pdf_name = x.split('.')[0]
            im1 = Image.open(os.path.join(img_path, x))
            im1.save(pdf_path + pdf_name + '.pdf', "PDF", resolution=100.0)
if __name__ == '__main__':
    # 待转换图像路径
    img_path = r"D:\桌面\\"
    # 转换后的pdf存放路径
    pdf_path = r'D:\桌面\\'
    pic2pdf(img_path=img_path, pdf_path=pdf_path)

五、pdf转word

先安装:pip install pdf2docx

from pdf2docx import Converter
pdf_file = r'D:\桌面\论文阅读笔记.pdf'
docx_file = r'D:\桌面\论文阅读笔记.docx'
cv = Converter(pdf_file)
cv.convert(docx_file, start=0, end=None)
cv.close()

六、pdf转图片

先安装:pip install pdf2image

from pdf2image import convert_from_path
pages = convert_from_path('D:\桌面\论文阅读笔记.pdf', 500)
# 保存
for page in pages:
    page.save('D:\桌面\论文阅读笔记.jpg', 'JPEG')
# 多图保存
for index, img in enumerate(pages):
    img.save('E:\识别\page_%s.jpg' % (index+1))

如果报错pdf2image.exceptions.PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH?
则需要安装配置poppler:
Windows的poppler下载地址:http://blog.alivate.com.au/poppler-windows/
解压缩后,将C:\Program Files\poppler-0.68.0\bin(可以放在其他位置)添加进环境变量-系统变量-path中,重启生效:

七、csv转excel

import pandas as pd
data = pd.read_csv('F:/train.csv',index_col=0)
data.to_excel('F:/train.xlsx',encoding='utf-8')

八、excel转csv

import pandas as pd
data = pd.read_excel('F:/train.xlsx',index_col=0)
data.to_csv('F:/train.csv',encoding='utf-8')

到此这篇关于全网最新用python实现各种文件类型转换的方法的文章就介绍到这了,更多相关python文件类型转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python深度学习pytorch神经网络块的网络之VGG

    Python深度学习pytorch神经网络块的网络之VGG

    虽然AlexNet证明深层神经网络卓有成效,但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。下面,我们将介绍一些常用于设计深层神经网络的启发式概念
    2021-10-10
  • Python文件读写处理日常任务终极工具实例

    Python文件读写处理日常任务终极工具实例

    Python文件的读写操作时,有很多需要考虑的细节,这包括文件打开方式、读取和写入数据的方法、异常处理等,在本文中,将深入探讨Python中的文件操作,旨在提供全面的指南,帮你充分了解Python文件的读写
    2023-11-11
  • python操作jira添加模块的方法

    python操作jira添加模块的方法

    在开发工作中,Jira通常用作BUG管理和任务跟踪管理等,项目经理,测试人员,开发人员等在Jira上进行提交BUG,提交任务,修改任务进度等操作.本文重点给大家介绍python操作jira添加模块的方法,感兴趣的朋友一起看看吧
    2022-03-03
  • python Gunicorn服务器使用方法详解

    python Gunicorn服务器使用方法详解

    这篇文章主要介绍了python Gunicorn服务器使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python Requsets下载开源网站的代码(带索引 数据)

    python Requsets下载开源网站的代码(带索引 数据)

    这篇文章主要介绍了python Requsets下载开源网站的代码(带索引 数据),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 关于pytorch中网络loss传播和参数更新的理解

    关于pytorch中网络loss传播和参数更新的理解

    今天小编就为大家分享一篇关于pytorch中网络loss传播和参数更新的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python绘制心形曲线完整代码实现

    Python绘制心形曲线完整代码实现

    这篇文章主要介绍了Python绘制心形曲线的相关资料,通过numpy和matplotlib库计算坐标并绘图,代码包含导入库、定义函数、生成参数、计算坐标、绘图和显示图形等步骤,展示了数学与编程的结合美感,需要的朋友可以参考下
    2024-10-10
  • Python使用Marshmallow轻松实现序列化和反序列化

    Python使用Marshmallow轻松实现序列化和反序列化

    这篇文章主要为大家详细介绍了Python如何使用Marshmallow轻松实现序列化和反序列化,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2025-03-03
  • Python入门之集合的使用教程

    Python入门之集合的使用教程

    在Python中,集合(Set) 是一个无序、不重复的序列,它不支持索引。本文将通过示例为大家详细讲讲Python中集合是使用,需要的可以参考一下
    2022-09-09
  • python连接mysql数据库并读取数据的实现

    python连接mysql数据库并读取数据的实现

    这篇文章主要介绍了python连接mysql数据库并读取数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论