没有生成任何人看到错误的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]
答案 0 :(得分:3)
我没有看到您的命令的输入文件。添加输入文件的完整路径(PDF,PostScript,Encapsulated PostScript或AI)作为最后一个参数,并且应生成TIFF ...
另外,删除-q
。它告诉Ghostscript保持'安静'。
最后,您可以在命令行中添加-dDEBUG
。它告诉Ghostscript输出大量调试信息。
答案 1 :(得分:1)
您的代码存在一些问题:
您需要使用原始字符串,以便不会将反斜杠视为转义序列。
e.g。 r'C:\Python25\pdfmining\nca.pdf'
代替'C:\Python25\pdfmining\nca.pdf'
。
self._
看起来不合适:'self._C:\Program Files (x86)\gs\gs9.02\bin'
看起来您将目录和可执行文件名作为单独的参数传递。它们应该在一起作为可执行文件的路径。
您可能还想捕获stderr
,以便看到错误消息,例如使用stderr=STDOUT
将stderr输出与stdout连接。