Не получается вывод или ошибки ghostscript python

1

Нет изображения tif, сгенерированного любым, кто видит ошибку? Я не получаю никаких ошибок. Теперь я вижу сообщение о том, что ghosscript запущен, но все же не получил выход tif. from output Я теперь получаю "GPL Ghostscript 9.02 (2011- 03- 30)\nCopyright (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
    Вы пытались запустить его вручную из командной строки?
  • 0
    форматирование немного отличается, но я могу попробовать, вы предлагаете, чтобы попытаться найти ошибки?
Показать ещё 1 комментарий
Теги:
ghostscript

2 ответа

3
Лучший ответ

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

Также удалите -q. Он сообщает Ghostscript, чтобы он оставался "тихим".

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

  • 0
    спасибо, я думаю, что это основная проблема, я следовал нормальному формату, но забыл разделить два файла запятой, я добавил отладку и внес изменения в свой код, чтобы теперь последний файл был последним аргументом. Из вывода отладки я получаю эту ошибку: Ghostscript 9.02: **** Не удалось открыть файл "C: \\ Python25 \\ pdfmining \\ page.tif". \ N% Разрешение: [6 0] \ nОшибка: / ioerror в --showpage -..... и т. д. Я не уверен, что вывод с двойным \\ просто для вывода или проблемы форматирования. Что также не имеет смысла, потому что это выходной файл? Это должно быть создание его. Любой, хотя
  • 0
    nvm просто исправил это :), избавился от "" '-sOutputFile = "% s" вокруг s,
1

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

  • Вам нужно использовать необработанные строки, чтобы обратная косая черта не обрабатывалась как escape-последовательности.

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

  • 0
    внесенные изменения, все еще не выводя файл, добавят выше в код, чтобы отразить это.
  • 0
    изменит код соответствующим образом и объединит путь и имя исполняемого файла, не понимая, что вы имеете в виду, добавляя STDOUT, получая NameError: имя 'STDOUT' не определено, когда вы добавляете как stdout выше.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню