Не получается вывод или ошибки ghostscript python - PullRequest
1 голос
/ 13 июня 2011

tif изображение не генерируется. Кто-нибудь видел ошибку?Я не получаю никаких ошибок.Сейчас я вижу сообщение о том, что ghosscript запущен, но все еще не получает вывод tif.из вывода я теперь получаю «GPL Ghostscript 9.02 (2011-03-30) \ nCopyright (C) 2010 Artifex Software, Inc.все ближе

Отредактировал внесенные изменения в соответствии с комментариями **

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 ]

3 голосов
/ 14 июня 2011

Я не вижу входной файл для вашей команды.Добавьте полный путь к входному файлу (PDF, PostScript, Encapsulated PostScript или AI) в качестве последнего аргумента, и ваши TIFF должны быть сгенерированы ...

Кроме того, удалите -q.Он говорит Ghostscript оставаться 'quiet' .

Наконец, вы можете добавить -dDEBUG к вашей командной строке.Он сообщает Ghostscript выводить много отладочной информации.

1 голос
/ 13 июня 2011

Некоторые проблемы с вашим кодом:

  1. Вам необходимо использовать необработанные строки, чтобы обратные слеши не обрабатывались как escape-последовательности.

    например. 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.

...