2017-02-08 6 views
0

Я пытаюсь распечатать документ PDF с помощью ghostscript. Я использую оболочку GHOSTPRINT.NET. Я смог добиться отправки вывода на принтер, однако он остается в состоянии буферизации. Не уверен, что это связано с переключателями, которые я использую, или с самим файлом. Любая помощь будет оценена. Вот код:Попытка печати PDF с использованием GhostScript

public static void PrintFormPdfData(byte[] formPdfData, string printer) 
    { 
     string tempFile; 

     tempFile = Path.GetTempFileName(); 

     using (FileStream fs = new FileStream(tempFile, FileMode.Create)) 
     { 
      fs.Write(formPdfData, 0, formPdfData.Length); 
      fs.Flush(); 
     } 
     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("-dNOSAFER"); 
      switches.Add("-dNumCopies=1"); 
      switches.Add("-sDEVICE=mswinpr2"); 
      switches.Add("-sOutputFile=%printer%" + printer); 
      switches.Add("-f"); 
      switches.Add(tempFile); 

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

ответ

1

Если бы я был вами, я бы начал с использования командной оболочки и запуска Ghostscript из командной строки.

Если это не сработает, мы можем пойти дальше, но на данный момент вы по существу просите о помощи по двум различным компонентам одновременно, Ghostscript и Ghostscript.NET C# wrapper. В идеале вам нужно решить, где ваша проблема в первую очередь, если она работает из командной оболочки, то это связано с Ghostscript.NET. Если это не так, то это что-то связано с Ghostscript.

Обратите внимание, что конечная «-f» может быть частью проблемы. Это вам не нужно:

a) Используется ключ -c для введения PostScript и b) Предназначен для последующего использования с дополнительными параметрами.

+0

Hey KenS, еще раз спасибо за вашу поддержку с GS. Я считаю, что моя проблема больше связана с данными, которые я пытаюсь напечатать, чем GS или GhostScript.NET. – Crumblenautjs

+1

Хм, хорошо это возможно обязательно. Я все равно попробую его из командной строки. Если вы считаете, что этот ввод сомнительный, просто запустите «gswin32 » и отобразится на дисплее. Должен хотя бы сказать вам, есть ли входной файл в порядке. – KenS

+0

Я использую командную строку gswin32 «C: \ TEMP \ report.jpg», но я получаю ошибку операнда. У меня есть файл, который я хотел бы распечатать в этом файле. Каков правильный синтаксис, чтобы попытаться напечатать файл, расположенный по этому пути? – Crumblenautjs

Смежные вопросы