使用 GSView 5.0 打印附记

标签 printing ghostscript postscript

我一直在使用 GSView 5.0 和 GhostScript 9.52 在牛皮纸上进行 postscript 打印。然而,今天 GSView 开始在我尝试打印的每个 .ps 文件上抛出错误代码。我使用的是 Windows 10 Pro,打印机是 Epson Artisan 1430。

错误如下:

GPL Ghostscript 9.52: **** Could not open file 00000e60.
Unrecoverable error: invalidfileaccess in showpage
Operand stack:
   --nostringval-- 1 true
gsapi_execute_cont returns -9
gsapi_exit returns 0

我尝试更改文件和不同打印机驱动程序的权限,但无济于事。很抱歉,我无法对这个问题进行更多描述,因为它很难清楚地表达出来。

最佳答案

好的...您最近一定已更新到 Ghostscript 的新版本。我可以重现您的问题,它可以归结为 Ghostscript 最近的(已记录的)行为变化。

由于几年前使用 Ghostscript 的安全漏洞的公开披露有据可查,当前版本(以及 9.50 之后的任何版本)现在默认以 SAFER 模式运行。

在 SAFER 中运行时,Ghostscript 会阻止 PostScript 解释器访问文件系统。对于那些不知道这个问题的人; PostScript 是一种成熟的编程语言,在设计上允许程序访问底层文件系统。 SAFER 模式可以防止这种情况发生,例如,恶意 PostScript 程序无法在您的计算机上运行任意代码。

看来 GSView 使用 Ghostscript 的方式要求它使用 PostScript 解释器读取要打印的 PostScript 程序,而不是指定输入文件作为参数之一的更常见做法。为简单起见,Ghostscript 可执行文件授予输入文件读取可用性。我怀疑 GSview 直接使用 DLL 而没有添加额外的信息。

现在有一些方法可以允许访问特定文件或文件夹,以便现有的 PostScript 程序可以继续工作,但显然这需要在调用应用程序中进行一些更改。从字面上看,GSview 多年来没有发生任何变化,因此显然它没有采取任何此类行动。

但是,您可以让 GSview 像以前一样工作。在选项下选择高级配置。在出现的对话框中查找“Ghostscript 选项”文本框。在其中添加 -dNOSAFER,这应该可以使其再次工作,但如果操作系统打印子系统已停止,您可能必须重新启动计算机。

是的,这确实会让您遭受我上面提到的各种攻击,您应该只对您信任的 PostScript 程序执行此操作。

关于使用 GSView 5.0 打印附记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62565146/

相关文章:

javascript - 用于在浏览器中呈现和注释 PDF 文档的 Html5 组件?

c - 在已插入订单元素中打印哈希表

java - java中的热敏打印机命令

php - 对PDF文件的每一页进行截图

pdf - Ghostscript:如何决定将多页 PDF 转换为多个 TIFF 的输出分辨率

ghostscript - 适合ghostscript中的页面大小(输入可能已损坏)

html - 我应该使用什么语言来编辑文档?

python - 设置 ipython 的默认科学记数法阈值

SQL Server 打印没有空格的空行

ghostscript - PostScript 执行程序的用户交互