Синтаксис ghostscript в питоне - PullRequest
1 голос
/ 17 ноября 2010

Я установил python-ghostscript в Linux. Я могу запустить GS из командной строки, и он создаст JPG из PDF. Вот код, который работает:

~$ gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -sOutputFile=/home/user/output.jpg /home/user/downloads/test.pdf

Я пытаюсь запустить этот процесс в Python, но не могу получить синтаксис. Я не получаю ошибок, но ничего не происходит. Я пытался прочитать о Popen / subprocess, но я не понимаю, почему вызываемый мной процесс gs не запускается и не создает файл

output = Popen(['gs','-dSAFER','-dNOPAUSE','-dBATCH','-sDEVICE=jpeg','-sOutputFile=/home/user/output2.jpg /home/user/downloads/test.pdf'])

Ответы [ 3 ]

2 голосов
/ 02 декабря 2010

Последние два параметра объединены, поэтому он не может работать; по сути это то же самое, что и запуск в вашем терминале gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg '-sOutputFile=/home/user/output.jpg /home/user/downloads/test.pdf', который вы не ожидаете.

Разделите эти два последних, и это должно работать:

output = Popen(['gs', '-dSAFER', '-dNOPAUSE', '-dBATCH', '-sDEVICE=jpeg', '-sOutputFile=/home/user/output2.jpg', '/home/user/downloads/test.pdf'])
1 голос
/ 02 декабря 2010

это сработало (python):

os.system('gs -dSAFER -dNOPAUSE -dQUIET -dBATCH -sDEVICE=jpeg -sOUTPUTFILE=/home/user/output2.jpg /home/user/Downloads/test.pdf')
1 голос
/ 17 ноября 2010

Чтобы проверить, что идет не так, вы можете передать стандартный вывод следующим образом:

import sys, subprocess

args = ['gs','-dSAFER','-dNOPAUSE','-dBATCH','-sDEVICE=jpeg','-sOutputFile=/home/user/output2.jpg /home/user/downloads/test.pdf']
output = Popen( args, stdout = sys.stdout, stderr = sys.stderr )
...