Visio文件转EPS文件
Visio转eps
by gaihf@水木
看了前人写的关于Visio转EPS的文章,但是实践过程中还是碰到几个棘手的问题。现在这些
问题终于解决了,把自己的一点体会分享给大家。
很多人习惯用Visio画图(包括me),但是Visio却不能导出EPS格式,所以只好借助于第三
方软件。通过Visio另存为*.emf格式然后用openoffice的Draw打开,可以导出为EPS格式。
导出时需要选中打开的图片,这样导出EPS之后就只包含*.emf图片的内容,不会有大片的空
白。但是用这个方法导出的EPS图片会走样,比如直线经常会断断续续的,我在Visio中加入
的“计算机”形状还会出现莫名其妙的阴影。也可能是我没有设置好吧。
还有另外一种更好的解决方案,导出的EPS文件十分完美。也就是通过acrobat打印机将
Visio图形打印成pdf,再经过gsview裁减。具体过程如下:
1. Visio画好图片后,在“文件/页面设置”中选择“页面尺寸”选项卡,然后选中“调整
大小以适合绘图内容”。
2. “文件/打印”,选择Adobe PDF打印机。点击“属性”,在“Adobe PDF设置”选项卡中
选择合适的纸张,将默认设置改成“高质量打印”,并将Visio文件打印成pdf。需要注意的
是纸张一定要足够大,否则可能会有一部分图片显示不出来。不必担心在pdf文件中图像周
围的白边,可以在下面的步骤中裁减。
3. 打开生成的pdf文件(通常是自动打开的),选择“文件/另存为”。把保存类型改成“
内嵌式 postscript(*.eps)”,这样会生成一个eps文件。
4. 用ACDSee打开生成的EPS文件,确认图像中该有的东西都有了。有的时候由于pdf打印的
图纸大小选择不当,可能会有一部分图片显示不出来。如果发生这样的问题,返回第2步重
新选择合适的纸张。
5. 将生成的eps文件用gsview打开,在media菜单中选择合适的纸张,使得所有的图像细节
都显示出来。在orientation中选择合适的方向,比如landscape等等。这一步一定要保证所
有的图像细节都在一张页面上显示出来,所以纸张大小不能太小,否则图片会分成几页显示
。
6. 选择“File/PS to EPS”,会弹出一个对话框,确保已经选中了“Automatically
calculate Bounding Box”,点击Yes,输入文件名保存即可。
将pdf另存的eps文件和gsview裁减的eps文件用纯文本编辑器打开,找到%%BoundingBox一行
,可以看到gsview已经将图片裁减了。
以上是自己的一点体会,在winxp、visio2003、adobe acrobat 7 pro.、GSview4.8中测试
无误。
boundingbox的四个参数是左下角的x,y,宽度和高度,可以根据需要用文本编辑程序改。
若实在不行,就把自己画的图拉伸,或者重新按照visio纸张大小在画一下!!!!
来自http://blog.sina.com.cn/s/blog_5e16f1770100fw8g.html
在LaTeX系统中,由于DVI 文件经常被转为PostScript 文件,所以LATEX 支持最好的是EPS 格式(Encapsulated Post-Script ,是PostScript 语言的子集)的图形。目前只有EPS 格式的图形在所有的TeX 系统中都能得到全面的支持。而其他的图形,如JPEG、PNG可以在某些系统中使用,这取决于所用的DVI 转换程序。因为一般最终要得到的都是PostScript 或者PDF格式的文件,因此先将图形转换为EPS 格式仍然是最有效、最方便的图形处理方法。
下面首先给出将Visio做出的VSD图转化为EPS方式的方法:
Visio格式的vsd图,在转换成LateX中eps格式时,经常会出现字符残缺的情况,下面是解决这种问题的办法:
1. 首先需要安装PostScript打印机(winsteng(PostScript printer drivers).exe),下载地址是在http://www.adobe.com/support/downloads/thankyou.jsp?ftpID=1500&fileID=1438
2. 启动Visio,打开vsd图
3. (1)打开 "文件" 菜单的 "打印..." 菜单项,
(2)在打印对话框里,打印机名称选择 "Generic PostScript Printer",
(3)点属性按钮,打开属性对话框,
(4)点高级按钮,打开高级选项对话框,
(4)纸张规格里选择 "Letter",
(5)在 "PostScript选项" 的 "PostScript输出选项"里选择 "内嵌的PostScript(EPS)"
4.点确定、确定,回到打印对话框,
5.选择"打印到文件"复选框,并确定,
6.在弹出的"打印到文件"对话框输入文件名,记得扩展名要为.ps(如abc.ps),
7.用GSview打开abc.ps,
8.打开File菜单里的"PS to EPS"菜单项,按默认的选项(自动计算边框)
9.最后在另存为对话框里输入最终的eps文件名(如abc.eps)
from:http://blog.sciencenet.cn/blog-434633-564710.html
Visio文件转EPS文件的更多相关文章
- [LaTex]Visio文件转EPS文件[转]
在LaTeX系统中,由于DVI 文件经常被转为PostScript 文件,所以LATEX 支持最好的是EPS 格式(Encapsulated Post-Script ,是PostScript 语言的子 ...
- 生成.eps文件方法
生成.eps文件方法 背景: 要写论文了,图像的分辨率是一大痛点 方法一: 两步生成.eps文件 用visio 制作图形,保存为pdf格式: 直接用adobe acrobat 打开pdf,然后保存为. ...
- 解决VC++6.0打开文件或添加文件到工程出错的问题
相信很多朋友在安装VC++6.0之后,发现无法使用打开文件命令.同时,打开了工程,却无法实现文件添加到工程的问题.一旦进行如此操作,便会出现应用程序错误,需要关闭应用程序.为此,不胜其烦.更有甚者,以 ...
- UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)
前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...
- 从java文件和CS文件里查询方法使用次数工具
前几天,领导让我找一下老系统(Java)里getRemoteUser方法都哪个文件用了,package是什么,方法被调用了多少次,当时因为着急,所以,直接人工找的,但是以后要是再出现,人工找就太讨厌了 ...
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- C#的Process类调用第三方插件实现PDF文件转SWF文件
在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来 ...
- Excel文件转plist文件出现的文件编码问题
今天在测试时遇到了需要将大量整理好的Excel数据转换为plist文件的情况.百度了一下教程,发现虽然别人也遇到过类似的情况,但是有些讲的还是不够细致.所以做如下整理. 百度到的内容中有使用Mes ...
- 使用java读取文件夹中文件的行数
使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个 ...
随机推荐
- Nagios 监控系统架设全攻略
Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强, ...
- Axios & Interceptors & Serialization & CORS & cookie
Axios https://github.com/axios/axios#config-defaults Global axios defaults axios.defaults.baseURL = ...
- hdu 1426 Sudoku Killer (dfs)
Sudoku Killer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- 内存检测工具valgrind
valgrind --tool=memcheck --leak-check=full --error-limit=no --trace-children=yes ./server valgrind ...
- APIO2017游记
铁牌选手爆零滚粗记QAQ........ CCF说不让讨论APIO相关内容不过现在应该没事了吧QAQ day0:上午还在学校填清北夏令营的表,下午上火车去北京,晚上颓颓颓...... day1:上午网 ...
- font-family 定义的最后为什么要加一句sans-serif
定义font-family时,最好在最后加一个sans-serif,这样如果所列出的字体都不能用,则默认的sans-serif字体能保证调用; W3C建议字体定义的时候,最后以一个类别的字体结束,例如 ...
- 转:Java NIO(2)
java.nio包是Java在1.4之后增加的,用来提高I/O操作的效率.在nio包中主要包括以下几个类或接口: * Buffer:缓冲区,用来临时存放输入或输出数据. * Charset:用来把Un ...
- Apache二级域名实现
Apache二级域名实现 首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com 其次,在 httpd.conf 中打开 mod_rewrite 之后,在 httpd.conf 的最后 ...
- iphone CGBitmapContextCreate()函数解释
http://blog.sina.com.cn/s/blog_3e50cef401019cd2.html CGContextRef CGBitmapContextCreate ( void *data ...
- objdump
objdump -h test (show section headers) test.c #include <stdio.h> int main() { static int xxxxx ...