最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python实现批量把SVG格式转成png、pdf格式的代码分享

来源:懂视网 责编:小采 时间:2020-11-27 14:30:45
文档

Python实现批量把SVG格式转成png、pdf格式的代码分享

Python实现批量把SVG格式转成png、pdf格式的代码分享:需要提前安装cairosvg模块,下载地址http://cairosvg.org/download/ Code: #! encoding:UTF-8 import cairosvg import os loop = True while loop: svgDir = raw_input(请输入SVG文件目录) if os.path.ex
推荐度:
导读Python实现批量把SVG格式转成png、pdf格式的代码分享:需要提前安装cairosvg模块,下载地址http://cairosvg.org/download/ Code: #! encoding:UTF-8 import cairosvg import os loop = True while loop: svgDir = raw_input(请输入SVG文件目录) if os.path.ex

需要提前安装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: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

文档

Python实现批量把SVG格式转成png、pdf格式的代码分享

Python实现批量把SVG格式转成png、pdf格式的代码分享:需要提前安装cairosvg模块,下载地址http://cairosvg.org/download/ Code: #! encoding:UTF-8 import cairosvg import os loop = True while loop: svgDir = raw_input(请输入SVG文件目录) if os.path.ex
推荐度:
标签: PDF 如何 文件格式
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top