Ghostscript Python 不输出也不报错
没有生成tif格式的图片,谁能帮我看看问题出在哪里?我没有收到任何错误提示。现在我看到的消息是ghosscript正在运行,但还是没有输出tif文件。从输出信息来看,我现在看到的是'GPL Ghostscript 9.02 (2011-03-30)\n版权所有 (C) 2010 Artifex Software, Inc. 保留所有权利。\n这个软件不提供任何保证:详细信息请查看PUBLIC文件。\n' 看起来离解决问题又近了一步。
我根据评论的建议进行了修改**
from subprocess import Popen, PIPE,STDOUT
output = Popen([
r'C:\Program Files (x86)\gs\gs9.02\bin\gswin32c.exe',
'-dNOPAUSE',
'-dBATCH',
'-sDEVICE=tiffg4',
'-dDEBUG',
'-r196X204',
'-sPAPERSIZE=a4',
'-sOutputFile=%s' % (r'C:\Python25\pdfmining\page.tif'),
'%s' %(r'C:\Python25\pdfmining\nca.pdf'),
],stdout=PIPE,stderr = STDOUT).communicate()[0]
2 个回答
1
你的代码有一些问题:
你需要使用原始字符串,这样反斜杠就不会被当作转义字符处理。
比如说,应该用
r'C:\Python25\pdfmining\nca.pdf'
而不是'C:\Python25\pdfmining\nca.pdf'
。self._
在这里看起来不太对劲:'self._C:\Program Files (x86)\gs\gs9.02\bin'
你似乎把目录和可执行文件名当作两个不同的参数传递了。它们应该合在一起,作为可执行文件的完整路径。
你可能还想捕获
stderr
,这样你就能看到错误信息,比如可以用stderr=STDOUT
把错误输出和正常输出合并在一起。
5
我没有看到你命令里的输入文件。请在最后加上输入文件的完整路径(可以是PDF、PostScript、封装的PostScript或AI格式),这样你的TIFF文件就能生成了...
另外,记得去掉 -q
这个选项。它是告诉Ghostscript保持安静,不输出信息。
最后,你可以在命令行里加上 -dDEBUG
。这个选项会让Ghostscript输出很多调试信息。