Ghostscript'违规输入'

问题描述 投票:0回答:1

[在PostScript文件中搜索文本出现时,出现以下错误:gsapi_run_string_continue returns -21

API文档指定返回代码> 0为“错误”,但没有更具体地描述它。下面是完整的错误控制台输出-错误两次发生相同,此处仅显示一次。

GPL Ghostscript 9.15 (2014-09-22)
Copyright (C) 2014 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Displaying DSC file C:/Users/c-toothm/Desktop/PRDFlow12_30_2014_050307/1230ouptut.ps
Displaying page 1
%%[ ProductName: GPL Ghostscript ]%%
%%[ LastPage ]%%

Extracting text using pstotext...
Ghostscript returns error code -21`

--- Begin offending input ---
evice /pop , d
initmatrix [1 0 0 1 0 0] concat colspSet`

0.00 43.32 +
0.94 0.95 +S
(XSFT2200041.img) run
EPSFILE2200041 restore
; 
0 0 0 sco 5 Lw N 4950 4742 M 4800 4742 I K 
0 0 0 sco 5 Lw N 4950 4752 M 4800 4752 I K 
0 0 0 sco 5 Lw N 4950 4762 M 4800 476
--- End offending input ---
gsapi_run_string_continue returns -21`

[duplicate error redacted]

我们的生产输出每天都会创建一个巨大的.ps文件,并且在搜索文本时,在很多(但不是全部).ps文件中会发生此错误。从网络上随机选择的.ps文件不会引发错误,因此,此GS版本似乎还可以-绝对是我的文件有问题。

这里指的是什么“违规输入”,我该怎么解决?

ghostscript postscript
1个回答
3
投票
[这可能是因为文件包含这样的'typo'(也许应该是setpagedevice之类的东西),或者可能是因为过滤器被不正确地终止,或者数据不足,并且从输入流中消耗了额外的字节,仔细检查您的程序。

您应该首先使用Ghostscript可执行文件并重现该错误(您也可以尝试使用显示设备,以查看问题是否与pstotext有关,这将允许您提供一个命令行,其他人可以使用重复。有了它,再加上令人讨厌的文件的副本,我可以确切地告诉您问题出在哪里,没有它,希望不多。

请记住,PostScript是一种解释型编程语言,因此如果不看代码,几乎不可能告诉您程序的问题。

首先,您可能想尝试使用Ghostscript txtwrite设备而不是pstotext,该设备并不像pstotext那样依赖修补语言。 pstotext也确实很旧(最新版本即将在其11岁生日发布),并且不受支持.....

© www.soinside.com 2019 - 2024. All rights reserved.