[Python] python通过cairosvg模块将SVG格式的图片转换成PNG格式 →→→→→进入此内容的聊天室

来自 , 2020-10-30, 写在 Python, 查看 118 次.
URL http://www.code666.cn/view/8caa3872
  1. #! encoding:UTF-8
  2. import cairosvg
  3. import os
  4.  
  5. loop = True
  6. while loop:
  7.     svgDir = raw_input("请输入SVG文件目录")
  8.     if os.path.exists(svgDir) and os.path.isdir(svgDir):
  9.         loop = False
  10.     else:
  11.         print "错误:您输入的SVG文件目录不存在或者不是一个有效的目录,请重新输入"
  12.  
  13. loop = True
  14. while loop:
  15.     exportDir = raw_input("请输入导出目录")
  16.     if os.path.exists(exportDir):
  17.         loop = False
  18.     else:
  19.         print "错误:您输入的导出目录[" , exportDir  , "] 不存在,是否要创建这个目录?"
  20.         loops = True    
  21.         while loops:
  22.             msg = ""
  23.             cmd = raw_input("创建 (Y) 重新 (R)")
  24.             if cmd.upper() == "R":
  25.                 loops = False
  26.             elif cmd.upper() == "Y":
  27.                 os.makedirs(exportDir, True)
  28.                 if os.path.exists(exportDir):
  29.                     loop = False
  30.                     loops = False
  31.                 else:
  32.                     print "创建目录失败[",exportDir,"], 请重新输入"
  33.             else:
  34.                 print "找不到您输入的命令,请重新输入"
  35.              
  36.  
  37. cate = ("png", "pdf")
  38. print "导出类型:"
  39. for i in cate:
  40.     print i
  41.      
  42. loop = True
  43. while loop:
  44.     exportFormat = raw_input("请输入导出类型")
  45.     if exportFormat.lower() in cate:
  46.         loop = False
  47.     else:
  48.         print "您输入的类型不存在,请重新输入"
  49.  
  50. def export(fromDir, targetDir, exportType):
  51.     print "开始执行转换命令..."
  52.     files = os.listdir(fromDir)
  53.     num = 0
  54.     for fileName in files:
  55.         path = os.path.join(fromDir,fileName)
  56.         if os.path.isfile(path) and fileName[-3:] == "svg":
  57.             num += 1
  58.             fileHandle = open(path)
  59.             svg = fileHandle.read()
  60.             fileHandle.close()
  61.             exportPath = os.path.join(targetDir, fileName[:-3] + exportType)
  62.             exportFileHandle = open(exportPath,'w')
  63.              
  64.             if exportType == "png":
  65.                 cairosvg.svg2png(bytestring=svg, write_to=exportPath)
  66.             elif exportType == "pdf":
  67.                 cairosvg.svg2pdf(bytestring=svg, write_to=exportPath)
  68.                  
  69.             exportFileHandle.close()
  70.             print "Success Export ", exportType, " -> " , exportPath
  71.      
  72.     print "已导出 ", num, "个文件"
  73. export(svgDir, exportDir, exportFormat)
  74.  
  75.  
  76. #//python/9052

回复 "python通过cairosvg模块将SVG格式的图片转换成PNG格式"

这儿你可以回复上面这条便签

captcha