Ghostscript 输出到文件:什么可能导致此错误?

Ghostscript output to file: what could cause this error?

我正在尝试生成用于从 Ghostscript 程序打印地图的文件。它从具有 1320 个经纬度坐标的输入文件中读取数据,每行一个,像这样

-92.32 48.24
-88.13 48.92
-83.11 46.27
-81.66 44.76
-82.09 42.29

使用以下代码打开并读取文件:

/ifile (/home/Harry/Mercator/world.dat) (r) 文件 def
ifile 的 readline

运行 gs Arc17.ps 的程序给了我想要的输出,没问题

然而,当我尝试获取图像文件时:

gs -dSAFER -dBATCH -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=png16mdGraphicsAlphaBits=4 -sOutputFile=Arc17.png Arc17.ps

(从 https://ghostscript.com/doc/current/Devices.htm#Measurements 复制的命令,第 3.1 节 "PNG file format" 我收到此错误

Error: /invalidfileaccess in --file--
Operand stack:
   ifile   (/home/Harry/Mercator/world.dat)   (r)

谁能解释一下并告诉我该怎么做?我很乐意提供更多详细信息,但不确定此时还包括什么。

您正在使用 -dSAFER,它出于安全原因专门限制任意文件访问。当 -dSAFER 为真时,您可能无法从文件系统中的任意位置 open/read/write。

如果您想这样做,请设置 -dNOSAFER(或者不设置 SAFER)。

invalidfileaccess 错误的意思与它所说的几乎完全一样,曾尝试访问文件,但该访问是非法的。

该命令行中的各种开关在您引用的同一文档中进行了说明,主要在 'Use.htm' 文件中。