Python實(shí)現(xiàn)批量把SVG格式轉(zhuǎn)成png、pdf格式的代碼分享
更新時(shí)間:2014年08月21日 11:27:48 投稿:junjie
這篇文章主要介紹了Python實(shí)現(xiàn)批量把SVG格式轉(zhuǎn)成png、pdf格式的代碼分享,本文代碼需要引用一個(gè)第三方模塊cairosvg,需要的朋友可以參考下
需要提前安裝cairosvg模塊,下載地址http://cairosvg.org/download/
Code:
#! encoding:UTF-8
import cairosvg
import os
loop = True
while loop:
svgDir = raw_input("請(qǐng)輸入SVG文件目錄")
if os.path.exists(svgDir) and os.path.isdir(svgDir):
loop = False
else:
print "錯(cuò)誤:您輸入的SVG文件目錄不存在或者不是一個(gè)有效的目錄,請(qǐng)重新輸入"
loop = True
while loop:
exportDir = raw_input("請(qǐng)輸入導(dǎo)出目錄")
if os.path.exists(exportDir):
loop = False
else:
print "錯(cuò)誤:您輸入的導(dǎo)出目錄[" , exportDir , "] 不存在,是否要?jiǎng)?chuàng)建這個(gè)目錄?"
loops = True
while loops:
msg = ""
cmd = raw_input("創(chuàng)建 (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 "創(chuàng)建目錄失敗[",exportDir,"], 請(qǐng)重新輸入"
else:
print "找不到您輸入的命令,請(qǐng)重新輸入"
cate = ("png", "pdf")
print "導(dǎo)出類型:"
for i in cate:
print i
loop = True
while loop:
exportFormat = raw_input("請(qǐng)輸入導(dǎo)出類型")
if exportFormat.lower() in cate:
loop = False
else:
print "您輸入的類型不存在,請(qǐng)重新輸入"
def export(fromDir, targetDir, exportType):
print "開始執(zhí)行轉(zhuǎn)換命令..."
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 "已導(dǎo)出 ", num, "個(gè)文件"
export(svgDir, exportDir, exportFormat)
使用:
復(fù)制代碼 代碼如下:
請(qǐng)輸入SVG文件目錄d:\svg
請(qǐng)輸入導(dǎo)出目錄d:\images
錯(cuò)誤:您輸入的導(dǎo)出目錄[ d:\images ] 不存在,是否要?jiǎng)?chuàng)建這個(gè)目錄?
創(chuàng)建 (Y) 重新 (R)Y
導(dǎo)出類型:
png
請(qǐng)輸入導(dǎo)出類型png
開始執(zhí)行轉(zhuǎn)換命令...
Success Export png -> d:\images\a.png
Success Export png -> d:\images\db2.png
Success Export png -> d:\images\db3.png
已導(dǎo)出 3 個(gè)文件
復(fù)制代碼 代碼如下:
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
您可能感興趣的文章:
- Python3轉(zhuǎn)換html到pdf的不同解決方案
- python3如何將docx轉(zhuǎn)換成pdf文件
- python將html轉(zhuǎn)成PDF的實(shí)現(xiàn)代碼(包含中文)
- Python 將pdf轉(zhuǎn)成圖片的方法
- python使用reportlab實(shí)現(xiàn)圖片轉(zhuǎn)換成pdf的方法
- python批量實(shí)現(xiàn)Word文件轉(zhuǎn)換為PDF文件
- windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法
- 用python 制作圖片轉(zhuǎn)pdf工具
- Python中使用PyQt把網(wǎng)頁轉(zhuǎn)換成PDF操作代碼實(shí)例
- Python使用到第三方庫PyMuPDF圖片與pdf相互轉(zhuǎn)換
- python爬蟲實(shí)現(xiàn)教程轉(zhuǎn)換成 PDF 電子書
- Python3將jpg轉(zhuǎn)為pdf文件的方法示例
相關(guān)文章
python+pytest接口自動(dòng)化之token關(guān)聯(lián)登錄的實(shí)現(xiàn)
公司某管理后臺(tái)系統(tǒng),登錄后返回token,接著去請(qǐng)求其他接口時(shí)請(qǐng)求頭中都需要加上這個(gè)token,否則提示請(qǐng)先登錄,今天通過本文給大家介紹下python+pytest接口自動(dòng)化之token關(guān)聯(lián)登錄的實(shí)現(xiàn),感興趣的朋友一起看看吧2022-04-04
詳解pandas中缺失數(shù)據(jù)處理的函數(shù)
這篇文章主要為大家詳細(xì)介紹一下pandas中處理缺失數(shù)據(jù)的一些函數(shù),文中具體講解了一下各個(gè)函數(shù)的使用,需要的可以參考一下2022-01-01
python中實(shí)現(xiàn)精確的浮點(diǎn)數(shù)運(yùn)算詳解
計(jì)算機(jī)智能處理可數(shù)集合的運(yùn)算,但是全體實(shí)數(shù)是不可數(shù)的,所以計(jì)算機(jī)只能用一些奇怪的方法來擬合他,于是就產(chǎn)生了浮點(diǎn)數(shù)。下面這篇文章主要給大家介紹了關(guān)于python中實(shí)現(xiàn)精確浮點(diǎn)數(shù)運(yùn)算的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
python利用pandas分析學(xué)生期末成績實(shí)例代碼
pandas是數(shù)據(jù)分析師最常用的工具之一,這篇文章主要給大家介紹了關(guān)于python如何利用pandas分析學(xué)生期末成績的相關(guān)資料,文中給出了詳細(xì)的實(shí)現(xiàn)方法,需要的朋友可以參考下2021-07-07

