Adobe Acrobat无法打开gnuplot生成的PDF文件求助
Gnuplot输出文件无法用Adobe Acrobat打开的解决办法
问题根源
你犯了一个典型的格式混淆错误:脚本里用postscript eps终端生成的是PostScript/EPS格式内容,但却把输出文件名设成了.pdf。Adobe Acrobat只认真正的PDF结构,这种“挂羊头卖狗肉”的文件自然会被判定为损坏或不支持格式。
两种可行的解决思路
思路1:直接用Gnuplot的PDF终端生成文件
从你列出的可用终端列表里,context终端是原生支持输出PDF的。修改脚本如下:
#!/usr/bin/gnuplot set encoding iso_8859_1 # 替换终端为context,直接输出PDF set terminal context enhanced color font "Helvetica" 14 set output "Da.pdf" set xr[0:1000] set yr[0:] set xlabel "Time (ps)" set ylabel "Da(\305^{2})" set key left top plot "800/data.dat" u ($1/1000):5 w line lt 1 lw 2 lc rgb "green" title "800"
运行修改后的脚本,生成的就是标准PDF文件,Acrobat可以正常打开。
思路2:先生成EPS再转PDF
如果习惯用PostScript终端,也可以先正确生成EPS文件,再通过工具转换为PDF:
- 修改脚本,输出EPS格式文件:
#!/usr/bin/gnuplot set encoding iso_8859_1 set terminal postscript eps enhanced color font "Helvetica" 14 set output "Da.eps" # 这里必须改成.eps后缀 set xr[0:1000] set yr[0:] set xlabel "Time (ps)" set ylabel "Da(\305^{2})" set key left top plot "800/data.dat" u ($1/1000):5 w line lt 1 lw 2 lc rgb "green" title "800"
- 用
ps2pdf工具(Ghostscript自带)转换:
ps2pdf Da.eps Da.pdf
这个工具会把EPS转成标准PDF,Acrobat就能正常识别了。
额外提醒
- 运行脚本后检查输出文件大小,如果文件是空的或者远小于预期,说明脚本执行过程中出错了,比如数据文件路径不对
- 要是用
context终端遇到字体显示问题,换成系统里已安装的字体,比如把font "Helvetica"改成font "Arial"试试
内容的提问来源于stack exchange,提问作者Binh Thien
相关产品推荐
相关产品推荐

