您当前的位置:首页 > 计算机 > 编程开发 > Python

python word,ppt,excel转pdf(word转html),转图片

时间:08-16来源:作者:点击数:

python word,ppt,excel转pdf(word转html),转图片

word,ppt,excel转pdf

装依赖

pip install comtypes==1.1.10 

转换

import comtypes.client
import os

def ppt_pdf(path):
	# PPT 转 PDF
    pdf_path = path.replace('ppt', 'pdf') # pdf保存路径 推荐使用绝对路径
    try:
        p = client.CreateObject("PowerPoint.Application")
        ppt = p.Presentations.Open(path)
        ppt.ExportAsFixedFormat(pdf_path, 2, PrintRange=None)
        ppt.Close()
        p.Quit()
    except Exception as e:
        pass
 

def word_pdf(path):
	# Word转pdf
    pdf_path = path.replace('doc', 'pdf')
    w = client.CreateObject("Word.Application")
    doc = w.Documents.Open(path)
    doc.ExportAsFixedFormat(pdf_path, 17)
    doc.Close()
    w.Quit()

def excel_pdf(self, path):
	# Excel转pdf
    pdf_path = path.replace('xls', 'pdf')
    xlApp = client.CreateObject("Excel.Application")
    books = xlApp.Workbooks.Open(path)
    books.ExportAsFixedFormat(0, pdf_path)
    xlApp.Quit()

word转html

import win32com.client as wc   # doc转docx用
from pydocx import PyDocX      # docx转html用
 
'''
doc文件转docx文件
fullpath:路径+文件名(不带后缀)
如:D:\\test\\文件1
'''
def doc2docx(fullpath):
    word = wc.Dispatch("WORD.Application")   # 启动word进程
    word.displayalerts=0  # 不警告
    word.visible=0        # 不显示
    #print(fullpath)
    doc = word.Documents.Open(fullpath + '.doc')  # D:\\test\\文件名1.doc
    doc.SaveAs(fullpath,12, False, "", True, "", False, False, False, False)  #转为docx
    doc.Close()
    word.Quit()
 
'''
docx转html
fullpath:路径+文件名(不带后缀)
如:D:\\test\\文件2
'''
def docx2html(fullpath):
    html = PyDocX.to_html(fullpath + ".docx")  # 转为html,如:D:\\test\\文件2.docx
    f = open(fullpath + ".html", 'w', encoding="utf-8")  # 变为如:D:\\test\\文件2.html
    f.write(html)
    f.close()

用中转换api

https://www.yozodcs.com/page/help-interface

excel转图片

import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import table

# 解决 画图中文 方块问题
from pylab import mpl

mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']    # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False
# figsize 指定figure的宽和高,单位为英寸;
# dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80      1英寸等于2.5cm,A4纸是 21*30cm的纸张
fig = plt.figure(figsize=(9, 10), dpi=900)
# frameon:是否显示边框
ax = fig.add_subplot(111, frame_on=False,)
# 隐藏x轴 y轴
ax.xaxis.set_visible(False)  # hide the x axis
ax.yaxis.set_visible(False)  # hide the y axis

# 读取excel
datas = pd.read_excel(r'C:\Users\ht-desktop-001\Desktop\excel.xlsx', engine='openpyxl')
datas = datas.iloc[:, 0:]
print(datas)
# 生成图片
table(ax, datas, loc='center')  # where df is your data frame
# 保存图片
plt.savefig('photo.jpg')

注意如果为xlsx 需要pip install openpyxl

ppt转图片

import comtypes.client
import os
import glob

if __name__ == '__main__':
    path = r'C:\Users\ht-desktop-001\Desktop\1.pptx'
    pa = r"C:\Users\ht-desktop-001\Desktop\1"
    fileNames = glob.glob(pa + r'\*')
    for fileName in fileNames:  # 将pa 文件夹中的文件删除。
        os.remove(fileName)
    powerpoint = comtypes.client.CreateObject("kwpp.Application")  # 使用wps的接口
    powerpoint.Visible = 1
    ppt = powerpoint.Presentations.Open(path)
    # 另存为
    ppt.SaveAs(pa + '.jpg', 17)
    # 退出
    ppt.Close()
    powerpoint.Quit()
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐