1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python 将xls xlsx doc docx文件转为pdf

python 将xls xlsx doc docx文件转为pdf

时间:2022-04-19 00:26:29

相关推荐

python 将xls xlsx doc docx文件转为pdf

这个主要参照 /zh-cn/dotnet/api/microsoft.office.tools.excel.worksheet.pagesetup?view=vsto-

官网对于pageSetup属性的描述

#-*- coding:utf-8 -*-import osimport win32api#需要下载pywin32的包import win32com.client def pdf_xls(root,filename,name):#转换xls和xlsx为pdf的函数if(filename.find('.xlsx')>=0):#文件名有xlsxpdfname = root+os.sep+filename.replace(".xlsx", ".pdf")#将文件名变为pdf后缀else:pdfname = root+os.sep+filename.replace(".xls", ".pdf")#将xls文件名转换为pdf后缀xlApp=win32com.client.Dispatch('Excel.Application')#pywin32包打卡excelxlApp.Visible = 0 #xls文件不可见xlApp.DisplayAlerts = 0 books = xlApp.Workbooks.Open(name,False)for sh in books.Sheets:#每个表格中设置pagesetup的参数sh.PageSetup.Orientation = 1#设置横向以及纵向sh.PageSetup.Zoom = False #设置缩放大小,false说明不以此缩放依据sh.PageSetup.FitToPagesWide= 1#以适应宽度的方式缩放books.ExportAsFixedFormat(0, pdfname)#导出pdf文件books.Close()#关闭表格print('保存 PDF 文件:', pdfname)xlApp.Quit()#关闭打开excel的进程def pdf_doc(root,filename,name):#doc以及docx打开pdf文件if(name.find('.docx')>=0):pdfname =root+os.sep+filename.replace(".docx", ".pdf")else:pdfname = root+os.sep+filename.replace(".doc", ".pdf")print(pdfname)exec_tool = 'kwps.application'word = win32com.client.DispatchEx(exec_tool)word.Visible = 0word.DisplayAlerts = 0password='666666'#文档的打开密码,即使没有密码也可以打开doc = word.Documents.Open(name,True,False,False,password,password,Visible=False)#以有文档密码的方式打开doc文档,参数不可以缺省doc.SaveAs(pdfname,FileFormat=17)#转换为pdf文件#doc.ExportAsFixedFormat(0,pdfname)doc.Close()word.Quit()if __name__ == "__main__":path=input('输入文档路径')for root, directories, files in os.walk(path):#遍历文件目录下的所有文件n=0for fileList in files:name=root+ os.sep+fileList #文件名if (name.find('.doc')>=0):print(name+"开始执行")try:pdf_doc(root,fileList,name)print(name+"已完成执行")except Exception as re:f=open("error_data.txt","a",encoding='UTF-8')f.write(str(name)+str(re)+"\n")f.close()if name.find('.xls')>=0:print(name+"开始执行")try:pdf_xls(root,fileList,name)#root 目录 fileList 文档名称 name 文件加文档名except Exception as re:f=open("error_data.txt","a",encoding='UTF-8')f.write(name+str(re)+"\n")f.close()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。