日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python實現批量把SVG格式轉成png、pdf格式的代碼分享

系統 2293 0

需要提前安裝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
pdf
請輸入導出類型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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 阿克苏市| 靖西县| 安康市| 通江县| 南召县| 烟台市| 玉山县| 阿荣旗| 阿鲁科尔沁旗| 泰兴市| 商都县| 通海县| 安庆市| 陈巴尔虎旗| 永寿县| 汶上县| 杂多县| 上高县| 蓬溪县| 木里| 柳江县| 仙居县| 华阴市| 兴隆县| 怀集县| 印江| 四子王旗| 高密市| 万源市| 营山县| 九龙县| 沾益县| 荔波县| 岳阳市| 巩义市| 河西区| 武功县| 广昌县| 西乡县| 新密市| 嘉义县|