需要提前安裝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, exportDir, exportFormat)
使用:
復制代碼
代碼如下:
請輸入SVG文件目錄d:\svg
請輸入導出目錄d:\images
錯誤:您輸入的導出目錄[ d:\images ] 不存在,是否要創建這個目錄?
創建 (Y) 重新 (R)Y
導出類型:
png
請輸入導出類型png
開始執行轉換命令...
Success Export? png? ->? d:\images\a.png
Success Export? png? ->? d:\images\db2.png
Success Export? png? ->? d:\images\db3.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
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
