2017-02-08 13 views
0

ghostscript를 사용하여 PDF 문서를 인쇄하려고합니다. 나는 GHOSTPRINT.NET 래퍼를 사용하고있다. 출력을 프린터로 전송할 수 있었지만 스풀링 상태가 계속 유지됩니다. 그것은 내가 사용하고있는 스위치 또는 파일 자체와 관련이 있는지 확실하지 않습니다. 어떤 도움을 주시면 감사하겠습니다. 여기에 코드입니다 : 내가 당신이라면 내가 명령 쉘을 사용하여 시작하고 명령 줄에서 고스트 스크립트를 실행하는 것입니다GhostScript를 사용하여 PDF를 인쇄하려고합니다.

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

.

그래도 작동하지 않는다면 우리는 더 이상 갈 수 있습니다. 그러나 실제로는 2 가지 구성 요소, Ghostscript 및 Ghostscript.NET C# wrapper에 대한 도움말을 본질적으로 요구하고 있습니다. 이상적으로는 명령 셸에서 작동하는 경우 먼저 문제가 발생한 곳을 고치고 Ghostscript.NET과 관련이있는 곳에서 작업해야합니다. 그렇지 않으면 Ghostscript와 관련이 있습니다.

후행하는 '-f'는 문제의 일부일 수 있습니다.

a) Postscript 및 을 소개하는 데 -c 스위치를 사용합니다. b) 추가 옵션을 따르는 것이 좋습니다.

+0

안녕하세요 KenS, GS님께 다시 한 번 감사드립니다. 내 문제는 GS 또는 GhostScript.NET보다 내가 인쇄하려고하는 데이터를 중심으로 더 많이 돌아서다고 생각합니다. – Crumblenautjs

+1

음, 물론 그럴 수 있습니다. 나는 여전히 명령 행에서 그것을 시도 할 것이다. 그 입력이 의심스러운 경우 "gswin32 "을 실행하면 디스플레이에 표시됩니다. 적어도 입력 파일이 OK인지 알려줘야합니다. – KenS

+0

gswin32 "C : \ TEMP \ report.jpg"명령 줄을 사용하고 있지만 피연산자 오류가 발생합니다. 그 파일에 인쇄하고 싶은 파일이 있습니다. 그 경로에있는 파일을 인쇄하려고하는 올바른 구문은 무엇입니까? – Crumblenautjs