没有得到任何输出或错误ghostscript python

时间:2011-06-13 13:51:55

标签: python ghostscript

没有生成任何人看到错误的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 个答案:

答案 0 :(得分:3)

我没有看到您的命令的输入文件。添加输入文件的完整路径(PDF,PostScript,Encapsulated PostScript或AI)作为最后一个参数,并且应生成TIFF ...

另外,删除-q。它告诉Ghostscript保持'安静'

最后,您可以在命令行中添加-dDEBUG。它告诉Ghostscript输出大量调试信息。

答案 1 :(得分:1)

您的代码存在一些问题:

  1. 您需要使用原始字符串,以便不会将反斜杠视为转义序列。

    e.g。 r'C:\Python25\pdfmining\nca.pdf'代替'C:\Python25\pdfmining\nca.pdf'

  2. self._看起来不合适:'self._C:\Program Files (x86)\gs\gs9.02\bin'

  3. 看起来您将目录和可执行文件名作为单独的参数传递。它们应该在一起作为可执行文件的路径。

  4. 您可能还想捕获stderr,以便看到错误消息,例如使用stderr=STDOUT将stderr输出与stdout连接。