Команда Ghostscript для завершения печати в интерактивном режиме?

Я пытаюсь создать службу оболочки, которая печатает документы PDF с помощью Ghostscript, работающего под Windows. Сервис должен запустить простую команду через stdin с именем файла PDF-документа и использовать тот же принтер и его настройки в качестве контекста.

По умолчанию Ghostscript запускается в интерактивном режиме. Идея состоит в том, чтобы использовать один и тот же процесс Ghostscript, а не запускать каждый запрос к службе. Только для разработки и тестирования, то Microsoft XPS Document Writerиспользуется для получения результата в желаемом файле XPS, имя которого выбирается вручную. Вот почему я использую устройство Ghostscript. В производственной среде будет еще один принтер.

Команда для запуска процесса Ghostscript выглядит следующим образом:

      gswin64c.exe -dFitPage -dNOSAFER -dNOPAUSE -q setup_xps.ps

Код Ghostscript из setup_xps.ps:

      mark
  /NoCancel      true                       % don't show the cancel dialog
  /OutputFile (%printer%Microsoft XPS Document Writer)
  /PageSize [114.0 85.0]
  (mswinpr2) finddevice                     % select the Windows device driver
  putdeviceprops
setdevice

Такая установка - единственный способ установить OutputFile к %printer%Microsoft XPS Document Writer: gswin64c.exe v9.54 не распознает его правильно при прохождении через командную строку (в результате mswinpr2 открывает стандартный диалог печати для выбора принтера).

Затем, чтобы распечатать документ PDF: (test.pdf) run. Однако задание на печать остается в enqueuingсостояние после. И showpageкоманда просто добавляет пустую страницу в выходной документ XPS. Это видно при обновлении очереди заданий принтера.

Вопрос в том, какую команду PostScript или Ghostscript (или другой язык) следует использовать для завершения этого задания печати (которое закрывает вывод XPSфайл изящно), оставив в интерактивном режиме запущенного процесса Ghostscript для выполнения дальнейших команд печати, таких как (test_2.pdf) run, (test_3.pdf) run и так далее.

0 ответов

Другие вопросы по тегам