Мне нужно переименовать работу, программно отправленную на принтер через 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);
}