Python实现批量把SVG格式转成png、pdf格式的代码分享
发布时间:2020-12-17 07:26:45 所属栏目:Python 来源:网络整理
导读:需要提前安装cairosvg模块,下载地址http://cairosvg.org/download/ Code: #! encoding:UTF-8import cairosvgimport osloop = Truewhile loop:svgDir = raw_input("请输入SVG文件目录")if os.path.exists(svgDir) and os.path.isdir(svgDir):loop = Falseels
需要提前安装cairosvg模块,下载地址http://cairosvg.org/download/ Code: #! encoding:UTF-8 import cairosvg import os loop = True while loop: svgDir = raw_input("请输入SVG文件目录") if os.path.exists(svgDir) and os.path.isdir(svgDir): loop = False else: print "错误:您输入的SVG文件目录不存在或者不是一个有效的目录,请重新输入" loop = True while loop: exportDir = raw_input("请输入导出目录") if os.path.exists(exportDir): loop = False else: print "错误:您输入的导出目录[",exportDir ,"] 不存在,是否要创建这个目录?" loops = True while loops: msg = "" cmd = raw_input("创建 (Y) 重新 (R)") if cmd.upper() == "R": loops = False elif cmd.upper() == "Y": os.makedirs(exportDir,True) if os.path.exists(exportDir): loop = False loops = False else: print "创建目录失败[",exportDir,"], 请重新输入" else: print "找不到您输入的命令,请重新输入" cate = ("png","pdf") print "导出类型:" for i in cate: print i loop = True while loop: exportFormat = raw_input("请输入导出类型") if exportFormat.lower() in cate: loop = False else: print "您输入的类型不存在,请重新输入" def export(fromDir,targetDir,exportType): print "开始执行转换命令..." files = os.listdir(fromDir) num = 0 for fileName in files: path = os.path.join(fromDir,fileName) if os.path.isfile(path) and fileName[-3:] == "svg": num += 1 fileHandle = open(path) svg = fileHandle.read() fileHandle.close() exportPath = os.path.join(targetDir,fileName[:-3] + exportType) exportFileHandle = open(exportPath,'w') if exportType == "png": cairosvg.svg2png(bytestring=svg,write_to=exportPath) elif exportType == "pdf": cairosvg.svg2pdf(bytestring=svg,write_to=exportPath) exportFileHandle.close() print "Success Export ",exportType," -> ",exportPath print "已导出 ",num,"个文件" export(svgDir,exportFormat) 使用: 复制代码 代码如下: 请输入SVG文件目录d:svg 请输入导出目录d:images 错误:您输入的导出目录[ d:images ] 不存在,是否要创建这个目录? 创建 (Y) 重新 (R)Y 导出类型: png 请输入导出类型png 开始执行转换命令... Success Export png -> d:imagesa.png Success Export png -> d:imagesdb2.png Success Export png -> d:imagesdb3.png 已导出 3 个文件 复制代码 代码如下: D:&;tree svg /F Folder PATH listing Volume serial number is 4603-09B2 D:SVG a.svg db2.svg db3.svg No subfolders exist D:&;tree images /F Folder PATH listing Volume serial number is 4603-09B2 D:IMAGES a.png db2.png db3.png No subfolders exist 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |