Как изменить выходной файл Ghostscript (в спулере принтера) на Python - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь распечатать PDF-файл с ghostscript в Python3. Я попытался написать этот код в Python.

os.chdir(documents_dir)
file = "myFile.pdf"
args = '"C:\\\\Program Files\\\\gs\\\\gs9.52\\\\bin\\\\gswin64c" ' \
       '-dBATCH ' \
       '-dNOPAUSE ' \
       '-dFitPage ' \
       '-sOutputFile="%printer%{}" ' \
       '-c "mark /UserSettings <</DocumentName ({})>> (mswinpr2) finddevice putdeviceprops setdevice" '.format(ptr_name, file)
ghostscript = args + os.path.abspath(file)
subprocess.call(ghostscript, shell=True)

. Он должен напечатать myFile.pdf, чтобы в диспетчере очереди печати было показано myFile.pdf в качестве имени задания.

Как я могу исправить эту команду?

Когда ptr_name равен Microsoft Print to PDF, программа молча завершается с пустым файлом PDF. Когда я использовал другой ptr_name, он заканчивался этим сообщением об ошибке

enter image description here

1 Ответ

1 голос
/ 27 марта 2020

Это только частичное сообщение, в котором отсутствует весь важный текст, и поэтому его очень трудно прочитать. Вместо того, чтобы публиковать изображение текста, почему бы не опубликовать фактический текст (весь обратный канал)?

Я не говорю Python, так как насчет указания (или даже распечатывания) содержимого 'ghostscript' из вашей программы (я предполагаю, что это строковая переменная какого-то типа). Это было бы полезно и для вас, так как это позволило бы вам увидеть, что вы пытаетесь запустить, и может искать ошибки в строке или синтаксисе.

Очевидно, что если командная строка работает из оболочки, должно быть некоторая разница в команде, которую вы посылаете от Python.

...