Как изменить имя документа в очереди печати с помощью переключателей ghostscript - PullRequest
1 голос
/ 29 января 2020

Мне нужно переименовать работу, программно отправленную на принтер через ghostscript, в настоящее время код может печатать и настраивать некоторые переключатели ghostscript. Проблема в том, что когда задание находится в очереди печати, имя документа всегда устанавливается на Ghostscript Output, я хочу изменить это имя на что-то более значимое.

На основании этой документации то состояние, в котором имя документа можно задать через командную строку, я попытался и могу подтвердить, что можно изменить имя документа с помощью командной строки.

Но когда я пытаюсь установить этот параметр программно, он не не работает.

Вот код, который отправляет задание на принтер:

using (GhostscriptProcessor processor = new GhostscriptProcessor())
{
    List<string> switches = new List<string>();
    switches.Add("-empty");
    switches.Add("-dPrinted");
    switches.Add("-dBATCH");
    switches.Add("-dNOPAUSE");
    switches.Add("-dNoCancel");
    switches.Add(@"-sFRONTPATH=" + System.Environment.GetFolderPath(System.Environment.SpecialFolder.Fonts));
    switches.Add("-sPAPERSIZE=a4");
    switches.Add("-dFIXEDMEDIA");
    switches.Add("-dPDFFitPage");
    if (pagerange)
    {
        switches.Add("-dFirstPage=" + 1);
        switches.Add("-dLastPage=" + 2);
    }
    switches.Add("-dNumCopies=" + 1);
    switches.Add("-sDEVICE=mswinpr2");
    switches.Add(Convert.ToString("-sOutputFile=%printer%") + printerName);
    switches.Add(" - f");
    switches.Add(fileName);

    processor.Process(switches.ToArray(), null);
}

1 Ответ

0 голосов
/ 29 января 2020

Вы действительно можете установить имя документа, но не совсем понятно, какой параметр командной строки вы использовали и который, по вашему мнению, его устанавливает. Насколько я вижу из вашего кода, вы не устанавливаете его.

Параметром командной строки является DocumentName, который уникален для устройства mswinpr2. Он определяется на странице, на которую вы указали в разделе 10.2 Поддерживаемые параметры (свойства устройства). Вы можете попробовать установить -sDocumentname=... в командной строке, что, я считаю, должно работать. Как говорит Panagiotis, изменение OutputFile позволит вам выбрать другой pritner, это никак не повлияет на название задания.

...