BoUML都收费了,argoUML半年没更新了,而startUML六年多没更新了,免费的UML工具里就数VP的社区版还不错了。唯一的缺憾就是输出图片有浮水印,虽说咱们也四处宣传VP,但输出的图片实在不方便。VP 9已经将浮水印贴满整个背景,影响导出图片的可读性。

不过,SVG导出功能还在!(这是我唯一还在坚持VP的理由!) 我写了一段脚本,帮助去除VP输出SVG图片中的浮水印,并转成PNG。这个PNG转换的功能依赖于Inkscape,没有的话去SourceForge.net下吧。 注意安装后要把Inkscape的安装路径放在PATH中去。

Inkscape支持命令行,如下:

inkscape -f srcSVGFile -e tgtPNGFile -d 150  (d后面的dpi值,150基本可以适用于放到PPT讲解用了. 其它参数用--help就可以看了)

脚本也简单,就是把SVG文件的某个特定的浮水印字符去除,然后呼叫inkscape转换下就可以了。支持单个文件转换或者一个目录下所有文件转换,还算方便吧。

#!/usr/bin/python
# coding: utf-8
#/*!
#@brief Description
#  A simple utility to remove watermark for SVG files exported by VP 9.0 ~ VP 12.x
#*/
import os,sys,string,datetime,copy,resrcSVGString = ["Visual Paradigm for UML Enterprise Edition [evaluation copy]","Visual Paradigm for UML Community Edition [not for commercial use]","Visual Paradigm for UML Modeler Edition [evaluation copy]"]
pathInkSpace = "/Applications/Inkscape.app/Contents/Resources/bin/inkscape"def replaceStringInNewFile(srcFile):file=open(srcFile, "r") if None==file:print "Could not open for %s updating" %srcFilereturn -1allLines=file.readlines()file.close()index = 0for eachLine in allLines:for srcString in srcSVGString:if 0<=string.find(eachLine,srcString):allLines[index] = eachLine.replace(srcString,' ')breakindex = index+1file = open(srcFile,"w")file.writelines(allLines)file.close()return 0def convertSVGToPNG(filename):fileStr, extStr = os.path.splitext(filename)if 0 == replaceStringInNewFile(filename):convertCmd=pathInkSpace+" -f\""+filename+"\" -e \""+fileStr+".png\" -d 150";return os.system(convertCmd)    else:return -1def convertAllSVNInFolder(srcFolder):if not os.path.isdir( srcFolder ):return -1paths = os.listdir( srcFolder )for path in paths:filePath = os.path.join( srcFolder, path )if filePath[-4:].lower() == ".svg":convertSVGToPNG(filePath)return 0# Main entry
if __name__ =="__main__":print 'Please ensure the Inkscape has been installed,'print ' and put the installed folder in the PATH!' if len(sys.argv) < 2:print '\tUsage: 'print '\t python svgconvert.py sourceSVGFile or'print '\t python svgconvert.py svnFolder'print ' 'elif os.path.isdir(sys.argv[1]):convertAllSVNInFolder(sys.argv[1])else:convertSVGToPNG(sys.argv[1])print '\nFinished! Enjoy the conversation result! 'print 'If you have any comment, pls mail to'print '\t horky.chen@gmail.com'print ''

去除Visual Paradigm输出图片中的浮水印相关推荐

  1. Visual Paradigm导出png,如何去除的水印

    1.首先导出为svg文件格式. 2.然后使用文本编辑器打开.[默认会使用浏览器的打开方式.需要你右键,选择你自己的文本编辑器,没有的话,可以使用文本编辑器打开] 3.找到以下的text标签[一般在文档 ...

  2. Visual Paradigm 下载安装及使用

    Visual Paradigm 下载安装及使用 前言 一.下载 二.安装 三.基本操作 1.以特定语言创建项目 2.创建简单的UML类图 3.从类图生成java源代码 4.从java更新UML类模型 ...

  3. UML工具Visual Paradigm v16.3发布:新增40种图表类型,模板更具针对性,让你轻松上手

    Visual Paradigm是包含设计共享.线框图和数据库设计新特性的企业项目设计工具.Visual Paradigm公司在其核心产品Visual Paradigm for UML更新到v11.1的 ...

  4. UML工具Visual Paradigm最新版本16.2发布

    表单构建器的改进 表单构建器中添加了许多新功能,以: 改善表格的外观 通过新字段和收集器支持促进更好的数据收集 支持表单逻辑以显示/隐藏字段 新表格栏位 支持一组丰富的表单字段.您可以轻松找到适合您数 ...

  5. UML工具Visual Paradigm创建数据流程图(DFD)教程

    Visual Paradigm是包含设计共享.线框图和数据库设计新特性的企业项目设计工具.现在你只需要这样单独的一款模型软件 Visual Paradigm就可以完成用UML设计软件,用BPMN去执行 ...

  6. Visual Paradigm 教程[UML]:如何使用刻板印象和标记值?(下)

    下载Visual Paradigm最新试用版 已加入在线订购,现在抢购立享特别优惠>> 将构造型应用于模型元素 接下来,我们将构造型应用于模型元素.右键单击Customer,然后从弹出菜单 ...

  7. Visual Paradigm 教程[UML]:如何在SoaML中建模多方服务?

    2019独角兽企业重金招聘Python工程师标准>>> 下载Visual Paradigm最新试用版 编写本教程是为了解释多方服务在SoaML方面的含义以及如何使用各种SoaML图表 ...

  8. Visio替代图表工具 - 为什么Visual Paradigm Online?

    如果您曾尝试使用MSVisio®创建流程图,您知道这并不容易.Visual Paradigm Online(VP Online)更加用户友好且直观,更不用说它的成本更低且平台中立. 让我们来看看为什么 ...

  9. Visual Paradigm 教程[UML]:如何在序列图中应用消息编号?

    下载Visual Paradigm最新试用版 已加入在线订购,现在抢购立享特别优惠>> 在本教程中,我们将介绍两种主要方式:基于图表和基于框架.当我们将"scope"指 ...

最新文章

  1. python视频下载-python动态视频下载器的实现方法
  2. Interval query
  3. Django开发社交类网站必备的10个第三方应用
  4. python中哪些词是敏感字词_python实现敏感词过滤的几种方法
  5. python编程环境安装包_Python环境安装与配置
  6. oracle字段怎么写,oracle修改字段名的语句怎么写_数据库,oracle,字段名
  7. VPX加固机箱学习资料第289篇:基于3U VPX的 5槽加固机箱
  8. 射频电路设计——射频器件基础
  9. 前IBM人工智能科学家为你解读AI行业的三大核心素养
  10. 毕业论文用到的在线网站
  11. 分位数回归 Quantile Regression,python 代码
  12. base64编码和解码算法
  13. 《乔布斯的魔力演讲》读书笔记
  14. 微信小程序实践——实验4高校新闻网
  15. linux中的日志切割
  16. 2018 ACM-ICPC 北京站 游记
  17. c++实现STL标准库
  18. Pandas复习笔记--自用
  19. AIS文件分析-(using the OMAP-138 Bootloader)
  20. OLED12864模块全屏缓冲刷新

热门文章

  1. 绘图python_Python空间绘图--Cartopy简介
  2. 【C++静态成员函数不能调用非静态成员变量】
  3. 船新的100个Python项目,看了再学毕竟快乐总是一闪而过
  4. R语言之read.table与write.table详解
  5. AMBA 总线系列 之 1.概述
  6. 阿里腾讯京东华为纷纷发力,互联网医疗究竟有何吸引力?
  7. 周数转日期和日期转周数
  8. OpenSSL介绍(一、版本选择)
  9. SpringBoot(24) 整合七牛云实现文件上传
  10. java web servlet、servlet容器 HTTP服务器和mvc三层架构或者说servlet属于哪一层的,给我搞的晕晕的,今天终于弄明白了