我有一个“单片机朋友”,他用的电子设计软件是 Windows 里的 target3001! (一个德国人写的软件,几乎是一人完成,至今大概有 20 年的历史)。而我只用 GNU/Linux,不方便安装 target3001!,而我又要看他画的图纸,这时,PDF 就是一个最好的选择。我让他导出一个 PDF 给我,他却给我导出一个 xps 文件,多年不用 Windows,我还是第一次知道有 xps 这种文件格式存在。现在有了 xps 文件,下一步就是如何查看的问题了。
可以打开 xps 文件,但在显示电路原理图时却有一个严重的 bug!交叉相连处的点全部消失不见,而这些圆点在电路里极其重要!它表示相交错的线之间是相连还是不相连。
这应该是 evince 的一个 bug,或者是 libgxps 的一个 bug。于是,我决定把 xps 转成 pdf 再来看看。
evince 是我常用的 PDF 查看器,对我来说最好的功能是它支持 vi 的 hjkl 移动功能,在 PDF 图纸里漫游可以灵活自如。如何能再一些别的快捷键,那就更理好了,比加上下面这些快捷键。
有 xps2pdf 在线的转换服务,但是如果是商业项目,最好不要用在线工具来转换,因为服务器会保存你的文件,而且文件可以公开下载。
不能显示圆点。
安装 libgxps-tools,这时我们有了很多 xps 转换命令
但是,这些工具转换出来的文件都没有交叉点。
经过 google,发现可以借助 ghostpdl 来进行 xps 文件的转换,具体操作如下:
先下载 ghostpdl。
wget -c http://downloads.ghostscript.com/public/ghostpdl-9.10.tar.gz
如果版本号改变或服务器上的文件作了修改,上面的命令将无法工作,这时请到 ghostpdl 官方网站去下载软件。
接下来是标准的 GNU/Linux 安装方法:
tar -xzvf ghostpdl-9.10.tar.gz cd ghostpdl-9.10 ./autogen.sh make xps cp xps/obj/gxps /usr/local/bin
此时,我们的系统就有 gxps 这个命令了。可以用下面的命令把你所 xps 文件转换成 PDF 文件。
gxps -sDEVICE=pdfwrite -sOutputFile=file.pdf -dNOPAUSE input.xps
经测试,转换成的 PDF 正常,有线路的交叉点。