Wednesday, October 13, 2010

向Latex中插入Visio画的流程图(转成EPS格式)

向Latex中插入Visio画的流程图(转成EPS格式)

添加评论2007年5月12日 

从来没用过Latex的,结果这几天GF毕业逼我帮他画图,就陆陆续续地会了一点Latex中的画图。前几天GF突然拿了一个流程图让给他画出来,一看流程图的复杂程度……@#*&@#^%$  只好向她力荐Visio,在向她介绍了近半小时Visio的诸多便捷之处后,她终于同意了(其实是不耐烦听下去了……)。

虽然用Latex画会觉得图复杂,但用Visio简直是太小儿科了,装上Visio后三下五除二就搞定了。然后导出为JPG,JPG再转成EPS,再从Latex中引用这个EPS图形,很快就搞定了,不过就是有点不清楚较为模糊的样子 ^_^

但今天GF又找我,说越看越模糊,不行,让重新用Latex画…… 郁闷了……

回来后不死心,放狗搜了一下,发现原来EPS是矢量图(呵呵,不好意思,以前从来没接触过EPS格式),那就很清楚了,因为JPG是位图,转矢量后效果当然不好了。

到Visio中看了一下,导出格式中有几种矢量格式,但Latex似乎都不支持,最后搜了一下,发现有个wmf2eps.exe,可以把WMF格式转换成EPS,那就死马当活马医一把吧。

先导出WMF矢量图,再下载wmf2eps.exe,安装后看了一下界面倒也简单,就一个转换功能,但转换时提示需要把PDF打印机的“属性-打印首先项-Adobe PDF Settings”中的“Do not send fonts to "Adobe PDF"”取消选定(晕,装这么个小东西竟然给我的系统里装了个“Adobe PDF”虚拟打印机),都提示得这么清楚了,当然好说,很快就取消了。

重新打印,这次不提示那个错误了,又出来一个新错误:

—————————
EPS error
—————————
Could not read BoundingBox out of line
‘%%BoundingBox: (atend) ‘.
WMF2EPS will continue, but expect bad output !
—————————
确定   
—————————

这算什么事儿呀,玩儿我呢,这种提示让我怎么处理呀~。差点就放弃了,但想到既然别人能用,说明这个软件还是能的,估计还是哪儿的设置有问题,就一点一点地找(软件里没什么可设的,就是去虚拟打印机里改设置),最后终于发现当“属性-打印首先项-纸张/质量-高级-文档选项-PostScript选项-PostScript输出选项”中的值改为“内嵌的 PostScript(EPS)”时转换就不报错了,用GSview一看,呵呵,一点问题也没有,搞定~

没想到这么点小问题竟然前后用了三个多小时才搞定,浪费了我许多周末睡觉的大好时光~

第二个问题的设置点找起来比较麻烦,抓个图说明一下:

另外,wmf2eps.exe这个文件也不是很好找(特别是带Patch的),顺便也把它传上来。其实不破解也能用的,只是用之前需要稍等几秒而已,我用的时候就没破解,反正也用不了几次。

下载地址: wmf2eps.rar(With Patch)

另外值得一提的是Visio转成WFM格式时如果第一个对象(过程/文档/输入等)中的文本如果是竖排的话,转换后的WMF图中所有的文本就全是竖排的,看上去格式就全乱了,所以如果大多数对象中的文本都是横排的话就要把第一个(全部)纵排的文本变成横排的。至于怎么让横排文本看上去的效果象纵排的,实现方法很多,也都很简单,我就懒得仔细描述了。

PS: 刚才看到人有说把Visio导出成两倍大小的JPG,然后再把JPG转换成EPS插入到Latex中去也能得到清晰的效果,但我一开始时这么做过,结果是如果原图较小,放大后倒是可行的,但如果原图本来就很大,放大插入到Latex中虽然清晰,但页面中根本显示不开,如果进行一下缩放,缩小到合适的大小就又放得不

No comments:

Blog Archive