不使用收费软件
要点:
- 使用打印到文件功能
- 使用GSview裁剪多余边框
- Latex支持情况:
- 支持latex-dvi-ps-pdf路线
- 不兼容pdflatex,原因:epstopdf包支持有问题
步骤:
- 添加打印机,选择本地打印机+输出到文件,打印机型号可以随便选(建议选择支持彩色的有PS支持的)或下载HP Universal Print Driver for Windows PostScript,建议取名“Print to EPS”
下载链接:http://h20564.www2.hp.com/hpsc/swd/public/readIndex?sp4ts.oid=4157320 - 打印机设置中,Advance选项卡,展开Document Options-PostScrpit Options,设置PostScript Output Option为“Encapsulated PostScript (EPS)”
- 在visio中打印当前文档,打印机选择刚刚添加的打印机,将输出文件名写为xx.eps(输出文件默认后缀为prn)
- 使用GSview大概该eps文件,使用File-PS to EPS功能裁剪多余位置的空白。
使用体验:
在latex中如果使用latex-dvi2ps-ps2pdf工具链,图片显示完全正常。
如果使用pdflatex工具链,则xx.eps对应的xx-eps-converted-to.pdf文件为一个空白的pdf文件,即生成的最终全文pdf文件中这个图片对应位置为空白,(个别情况下eps被转换为一个未裁剪的包含大量白边文件)。
经过我反复测试,发现:
- 此问题与所选择的打印机型号无关;
- 此问题与裁剪时使用自动边框计算还是手动指定边框无关;
- tex文件使用未经裁剪的eps文件不会出现问题(但该文件未经过裁剪,大多数情况下无法直接使用);
- 虽然使用GSview打开打印生成的eps文件时没有问题,但是直接用Adobe Illustrator打开时会出现异常的字体显示问题。
- 猜测原因为这种方法打印出来的eps较为特殊,GSview的或pdflatex在导入eps图片式所使用的epstopdf包对它的支持存在bug。
使用Adobe Illustrator
在Illustrator中新建一个文件,将visio中编辑的部分复制出来,粘贴到Illustrator中,保存为eps文件。
边界空白部分会自动被裁剪掉。
支持latex和pdflatex。