Epa*_*aga 6 java validation postscript ghostscript
在我的应用程序中将数据保存到Postscript会生成一个Postscript文件,我可以在GhostView中查看而没有问题,但是当我尝试打印它时,打印机无法打印它,因为它似乎无效.
有没有办法在Postscript文件中验证/查找错误而不实际将其发送到打印机?首选的是某种Java API /库,但执行相同操作的程序也可以.
编辑#1:不,我不知道为什么它是无效的,甚至不一定是无效的,但是希望能够在ghostview之外验证它,或者弄清楚当它无法打印时会发生什么.
答:使用ps2ps技巧,我能够看到Postscript的输出,并检查差异.不同之处在于我不允许在Postscript中为图像的宽度或高度设置十进制数,而只允许使用整数.所以我仍然没有找到验证的方法,但这种方式对我的问题来说已经足够了.谢谢.
每当我需要使用Ghostscript验证PostScript文件而不必实际查看其渲染的页面图像时,我使用"nullpage"设备:
gswin32c ^
-sDEVICE=nullpage ^
-dNOPAUSE ^
-dBATCH ^
c:/path/to/file/to/be/validated.pdf-or-ps ^
1>validated.stdout ^
2>validated.stderr
Run Code Online (Sandbox Code Playgroud)
如果出现问题,将会有一个非零%errorlevel%
集,validated.stderr
日志文件将包含Ghostscript在渲染过程中吐出的所有消息.
如果你能在ghostview上看到它,则说明ghostscript可以解析它。
因此,您可以尝试用来打印(但不实际验证)文件的一个技巧是使用 Ghostscript 的 postscript 输出模式(有一个调用ps2ps
它的包装器,主要添加-sDEVICE=pswrite
;还有ps2ps2
使用-sDEVICE=ps2write
)。