Параметры печати GhostScript

У меня большие проблемы при попытке распечатать PDF-файл в Windows с помощью Ghostscript. Аргумент "в Windows" происходит из-за того, что я пытаюсь использовать драйвер по умолчанию для MS Windows для этого "-sDEVICE=mswinpr2". Мне нужна поддержка всех принтеров и драйверов Windows. Также я не могу использовать PDF для изображений, чтобы напечатать задание своего рода решение. Я также не могу использовать файл gswin64c.exe, и мне нужно, чтобы работа выполнялась без каких-либо всплывающих окон (никакой формы). Все, что я могу сделать, это просто отправить некоторые параметры в gsdll32.dll и создать задание на печать.

Я использую оболочку C# https://github.com/mephraim/ghostscriptsharp/tree/master

Я посылаю следующие параметры: "-dBATCH -dNOPAUSE -dNOPROMPT -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dFIXEDMEDIA -dPDFFitPage -sDEVICE=mswinpr2 -dQUIET -sOutputFile=\"% принтер%Epson Stylus Pro 4900\" D:\1.pdf"

И каждый раз, когда диалог выбора принтера продолжает появляться. Я понимаю, что порядок параметров в вопросах.... потому что я изменил его, и у него были разные результаты.

Актуальный вопрос: Какие параметры мне нужно отправить в GhostScript dll, чтобы я мог распечатать файл PDF, используя драйвер печати по умолчанию для MS Windows.

3 ответа

Параметры, используемые в командной строке, были сначала проверены в версии командной строки gswin64c.exe (64-разрядная операционная система), и они работают нормально.

Я использую GS версию 9.10 (последняя версия).

Я пробовал разные комбинации параметров, с некоторыми из них или без них... один и тот же результат... -100 код выхода (общая ошибка без указания ошибки, которая его вызвала).

Кажется, это не проблема с этим символом%... Я попробую еще кое-что.

Спасибо Кен за помощь

Что касается диалогового окна принтера, то если вы замените "mswinpr2" на имя совместимого устройства, такого как ljet4, запросы исчезнут. Я предполагаю, что на вашем компьютере должно быть установлено более одного принтера, и, следовательно, Windows предложит вам выбрать один из списка.

Вы пробовали это, используя версию GS командной строки вместо DLL или C# штуку? Я бы посоветовал вам сосредоточиться на том, чтобы заставить это работать в первую очередь.

Как называется принтер (как он выглядит в Windows)?

Какую версию Ghostscript вы используете?

Попробуйте использовать командную строку без "-dBATCH", "-dNOPAUSE", "-dNOPROMPT", "-dQUIET". таким образом, если Ghostscript попытается сказать вам что-то, вы не просто проигнорируете это или пропустите это.

Если командная строка работает, то; Я вижу, что вы экранировали символы ", но не"% ", вы можете экранировать их или удвоить их. В зависимости от того, как работает ваша оболочка, они могут быть прочитаны как спецификаторы формата.

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