当前位置: 首页 > news >正文

网站和app可以做充值余额功能外贸网站运营

网站和app可以做充值余额功能,外贸网站运营,会员管理系统免费版,wordpress添加追番今天看见了一个有意思的脚本Python批量实现Word、EXCLE、PPT转PDF文件。 因为我平时word用的比较的多,所以深有体会,具体怎么实现的我们就不讨论了,因为这个去学了也没什么提升,不然也不会当作脚本了。这里我将其放入了pyzjr库中…

今天看见了一个有意思的脚本Python批量实现Word、EXCLE、PPT转PDF文件。

因为我平时word用的比较的多,所以深有体会,具体怎么实现的我们就不讨论了,因为这个去学了也没什么提升,不然也不会当作脚本了。这里我将其放入了pyzjr库中,也方便大家进行调用。

你可以去下载pyzjr:

pip install pyzjr -i https://pypi.tuna.tsinghua.edu.cn/simple

调用方法:

import pyzjr as pz# 实例化对象
Mpdf = pz.Microsoft2PDF()
# 调用类的方法
Mpdf.Word2Pdf()  # word -> pdf
Mpdf.Excel2Pdf()  # excel -> pdf
Mpdf.PPt2Pdf()  # ppt -> pdf
Mpdf.WEP2Pdf()  # word,excel,ppt -> pdf

上面就是api的调用了,统一会将文件存放在目标文件夹下新建的名为pdf文件夹中。

pyzjr中的源码:

import win32com.client, gc, osclass Microsoft2PDF():"""Convert Microsoft Office documents (Word, Excel, PowerPoint) to PDF format"""def __init__(self,filePath = ""):""":param filePath: 如果默认是空字符,就默认当前路径"""self.flagW = self.flagE = self.flagP = 1self.words = []self.ppts = []self.excels = []if filePath == "":filePath = os.getcwd()folder = filePath + '\\pdf\\'self.folder = CreateFolder(folder,debug=False)self.filePath = filePathfor i in os.listdir(self.filePath):if i.endswith(('.doc', 'docx')):self.words.append(i)if i.endswith(('.ppt', 'pptx')):self.ppts.append(i)if i.endswith(('.xls', 'xlsx')):self.excels.append(i)if len(self.words) < 1:print("\n[pyzjr]:No Word files\n")self.flagW = 0if len(self.ppts) < 1:print("\n[pyzjr]:No PPT file\n")self.flagE = 0if len(self.excels) < 1:print("\n[pyzjr]:No Excel file\n")self.flagP = 0def Word2Pdf(self):if self.flagW == 0:return 0else:print("\n[Start Word ->PDF conversion]")try:print("Open Word Process...")word = win32com.client.Dispatch("Word.Application")word.Visible = 0word.DisplayAlerts = Falsedoc = Nonefor i in range(len(self.words)):print(i)fileName = self.words[i]  # file namefromFile = os.path.join(self.filePath, fileName)  # file addresstoFileName = self.changeSufix2Pdf(fileName)  # Generated file nametoFile = self.toFileJoin(toFileName)  # Generated file addressprint("Conversion:" + fileName + "in files...")try:doc = word.Documents.Open(fromFile)doc.SaveAs(toFile, 17)print("Convert to:" + toFileName + "file completion")except Exception as e:print(e)print("All Word files have been printed")print("End Word Process...\n")doc.Close()doc = Noneword.Quit()word = Noneexcept Exception as e:print(e)finally:gc.collect()def Excel2Pdf(self):if self.flagE == 0:return 0else:print("\n[Start Excel -> PDF conversion]")try:print("open Excel Process...")excel = win32com.client.Dispatch("Excel.Application")excel.Visible = 0excel.DisplayAlerts = Falsewb = Nonews = Nonefor i in range(len(self.excels)):print(i)fileName = self.excels[i]fromFile = os.path.join(self.filePath, fileName)print("Conversion:" + fileName + "in files...")try:wb = excel.Workbooks.Open(fromFile)for j in range(wb.Worksheets.Count):  # Number of worksheets, one workbook may have multiple worksheetstoFileName = self.addWorksheetsOrder(fileName, j + 1)toFile = self.toFileJoin(toFileName)ws = wb.Worksheets(j + 1)ws.ExportAsFixedFormat(0, toFile)print("Convert to:" + toFileName + "file completion")except Exception as e:print(e)# 关闭 Excel 进程print("All Excel files have been printed")print("Ending Excel process...\n")ws = Nonewb.Close()wb = Noneexcel.Quit()excel = Noneexcept Exception as e:print(e)finally:gc.collect()def PPt2Pdf(self):if self.flagP == 0:return 0else:print("\n[Start PPT ->PDF conversion]")try:print("Opening PowerPoint process...")powerpoint = win32com.client.Dispatch("PowerPoint.Application")ppt = Nonefor i in range(len(self.ppts)):print(i)fileName = self.ppts[i]fromFile = os.path.join(self.filePath, fileName)toFileName = self.changeSufix2Pdf(fileName)toFile = self.toFileJoin(toFileName)print("Conversion:" + fileName + "in files...")try:ppt = powerpoint.Presentations.Open(fromFile, WithWindow=False)if ppt.Slides.Count > 0:ppt.SaveAs(toFile, 32)print("Convert to:" + toFileName + "file completion")else:print("Error, unexpected: This file is empty, skipping this file")except Exception as e:print(e)print("All PPT files have been printed")print("Ending PowerPoint process...\n")ppt.Close()ppt = Nonepowerpoint.Quit()powerpoint = Noneexcept Exception as e:print(e)finally:gc.collect()def WEP2Pdf(self):"""Word, Excel and PPt are all converted to PDF.If there are many files, it may take some time"""print("Convert Microsoft Three Musketeers to PDF")self.Word2Pdf()self.Excel2Pdf()self.PPt2Pdf()print(f"All files have been converted, you can find them in the {self.folder}")def changeSufix2Pdf(self,file):"""将文件后缀更改为.pdf"""return file[:file.rfind('.')] + ".pdf"def addWorksheetsOrder(self,file, i):"""在文件名中添加工作表顺序"""return file[:file.rfind('.')] + "_worksheet" + str(i) + ".pdf"def toFileJoin(self, file):"""将文件路径和文件名连接为完整的文件路径"""return os.path.join(self.filePath, 'pdf', file[:file.rfind('.')] + ".pdf")

 这里我对原先博主的代码进行了一定的优化,使其可供我们调用。

这是控制台打印出来的信息,我们可以发现在调用WEP2Pdf时,如果当前文件夹中没有word的文件也能继续去转换。 

http://www.yayakq.cn/news/569412/

相关文章:

  • 做旅行网站坑梓网站建设流程
  • 墙绘做网站推广有作用没网站换程序 搜索引擎
  • 广州哪家网站建设好手工网站怎样做三角包
  • 怎么查看一个网站页面的seo优化情况盐城seo快速排名
  • 南通网站建设找哪家好做网站要找什么
  • 外链网站大全网站主机和空间
  • 网站建设社团活动宗旨网页一般用什么语言编写
  • 望牛墩镇网站建设公司玄武建设局网站
  • 做网站注册营业执照室内装修设计软件哪个最好
  • 导航网站制作 zhihu武昌专业的网络推广团队
  • 同一人做多个主体网站负责人跑业务怎么找客户
  • 个人网站用什么域名互联网站安全
  • 超越时空网上书城网站策划书网站建设服务定制
  • 建功能网站沈阳妇科检查
  • 怀化网站优化网站导航下拉菜单代码
  • 网站开发流程框架40岁了开始学室内设计
  • 快速搭建网站信息库中国机械加工网18易5下2拉i
  • 网站建设店铺介绍怎么写佛山高端网站制作
  • 网站建设哪公司网站的域名空间
  • 化妆品销售网站的源代码友情链接检索数据分析
  • 商丘做网站优化的公司有哪些县城乡建设局网站
  • php电子商务网站开发实例虹桥做网站公司
  • 根据域名查询网站名称怎么添加视频到wordpress
  • 网站开发人员是什么wordpress没有权限设置
  • 百度商桥网站代码去哪里添加免费好玩的网页游戏
  • 网站导航营销的优点淮北论坛官网
  • 六盘水北京网站建设营销方案 网站
  • 五一电子网站建设私人订制管理中心
  • 太原建筑公司网站第三方网站建设平台
  • 医院网站建设要素购物网站哪个好