Django或Python,如何将Postscript转换成PDF或图像

3
我正在运行一个使用Django 1.8.2的RHEL7系统作为Web服务器。 我正在研究一种解决方案,即可以通过Django API上传PostScript(PS)文件,然后将其转换为PDF或图像(如JPG或PNG)。
我提到了Django或Python,因为无论Django处理转换还是将其传递给纯Python脚本并接收返回结果都没有关系。
我一直在研究Ghostscript,但是出现了以下错误...
$ gs -sDEVICE=pdfwrite -sOutputFile=test.pdf -dBATCH -dNOPAUSE file.ps 
GPL Ghostscript 9.05 (2012-02-08)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading NimbusMonL-Regu font from /usr/share/fonts/type1/gsfonts/n022003l.pfb... 2849640 1507460 4012484 2498014 1 done.
%%[ Error handled by opdfread.ps : undefined; OffendingCommand: 9!_NGH!_NGH! ]%%
%%[STACK:
--nostringval--
14
%%]%

希望能得到任何解决方案。谢谢!

===

@KenS 感谢您指出我未能提供PS文件示例的错误。

file.ps


1
你只是想在 Python 外部将 ps 转换为 pdf 文件吗?如果您只需要这样做,可以尝试在命令行上使用 ps2pdf 来转换 ps 文件。 - LRP
ps2pdf只是使用Ghostscript进行转换,如果在本地无法工作,则远程工作的可能性也不大。他们“可能”正在使用更近期的Ghostscript版本,但是他们上一次新闻发布已经是2年前了,这并没有让我充满信心。而且他们仍然将其描述为AFPL Ghostscript,实际上它已经使用GPL多年了,并且仍然指向现在未使用的威斯康星大学镜像...... - KenS
1个回答

1
看起来你的(PostScript)文件最初是使用Ghostscript将PDF转换为PostScript。它看起来非常像你的PostScript文件已经损坏了,正在尝试将二进制(可能是图像)数据解释为语言标记。
这可能是由于CR / LF转换而发生的,但无论如何,Ghostscript抛出错误的原因是您的PostScript程序已经损坏了。无论您尝试使用什么软件,它都不会起作用,该程序已经(很可能)无法恢复。
当然,这只是猜测,因为您没有发布PostScript文件的URL。
我建议您尝试使用Ghostscript文件夹中的示例文件之一,例如tiger或golfer,这些文件已知可以正常工作。
您还应考虑使用更高版本的Ghostscript,9.05现在已经过去3年了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接