本文已参与「新人创作礼」活动,一起开启掘金创作之路。
python 将 word转换为pdf
下面的代码中,将自己的word 文件的路径改成自己的目录,然后改一下输出的pdf 的路径和文件名。代码运行后就会生成对应的文件。
from win32com import client
w = client.Dispatch("Word.Application")
doc = w.Documents.Open('d:\temp\a.docx')
doc.ExportAsFixedFormat('D:\temp\word.pdf', client.constants.wdExportFormatPDF)
w.Quit()
python 将 excel转换为pdf
下面的代码中,将自己的excel 文件的路径改成自己的目录,然后改一下输出的pdf 的路径和文件名。代码运行后就会生成对应的文件。
from win32com import client
xlApp = client.Dispatch("Excel.Application")
books = xlApp.Workbooks.Open('d:\temp\test.xlsx')
books.ExportAsFixedFormat(0, 'D:\temp\excel.pdf')
xlApp.Quit()
python 将 ppt转换为pdf
下面的代码中,将自己的ppt 文件的路径改成自己的目录,然后改一下输出的pdf 的路径和文件名。代码运行后就会生成对应的文件。
from win32com import client
p = client.Dispatch("PowerPoint.Application")
ppt = p.Presentations.Open('d:\temp\2017-08-04 Cirrus V3.0 Request.pptx', False, False, False)
ppt.ExportAsFixedFormat('D:\temp\ppt.pdf', 2, PrintRange=None)
p.Quit()
python将 ppt文件转换为jpg图片
下面的代码中,path 代码ppt 的文件路径,而pa 是 输出图片的文件夹名称。
import comtypes.client
import os
import win32
import glob
if __name__ == '__main__':
path = 'D:/python/Qt/images/1.ppt'
pa = "D:/python/Qt/images/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()
运行后将ppt的每一页转化为图片,打开对应的文件夹就能看到代码转化后的 PPT的图片,如下图所示:
将当前文件夹所有ppt文件转换为pdf跟图片
将.py 代码文件的当前文件夹中的所有ppt 文件转化为 pdf 和 图片
import comtypes.client
import win32
import os
def init_powerpoint():
#powerpoint = comtypes.client.CreateObject("Powerpoint.Application") #使用office的接口电脑要安装有office的软件
powerpoint = comtypes.client.CreateObject("Kwpp.Application") #使用wps的接口运行比较流畅。电脑要安装有wps的软件
powerpoint.Visible = 1
return powerpoint
def ppt_to_pdf(powerpoint, inputFileName, outputFileName):
if outputFileName[-3:] != 'pdf':
outputFileName = outputFileName[0:-4] + ".pdf"
print(outputFileName)
print(inputFileName)
deck = powerpoint.Presentations.Open(inputFileName)
deck.SaveAs(outputFileName, 32) # 32 for ppt to pdf
deck.SaveAs(inputFileName.rsplit('.')[0] + '.jpg', 17)
deck.Close()
def convert_files_in_folder(powerpoint, folder):
files = os.listdir(folder)
print(files) #输出可以了解程序的运行过程。
pptfiles = [f for f in files if f.endswith((".ppt", ".pptx"))]
print(pptfiles)
for pptfile in pptfiles:
fullpath = os.path.join(cwd, pptfile)
print(fullpath)
ppt_to_pdf(powerpoint, fullpath, fullpath)
if __name__ == "__main__":
powerpoint = init_powerpoint()
print(powerpoint)
cwd = os.getcwd()
print(cwd)
convert_files_in_folder(powerpoint, cwd)
powerpoint.Quit()