2012-11-15 2 views
0

으로 HTML을 PS로 변환합니다. html 파일을 인쇄 할 때 doc, xls 및 txt 파일을 시도했을 때 문제가 발생하지만 완벽하게 작동하지만 html 파일에 인쇄 대화 상자가 표시되면 작동하려면 고스트 스크립트 프린터를 선택하십시오.Ghostscript C#

내 코드는 다음과 같습니다

[DllImport("Winspool.drv")] 
    private static extern bool SetDefaultPrinter(string printerName); 

    [ValidateInput(false)] 
    public ActionResult CreatePdf(string file , string html) 
    { 
     SetDefaultPrinter("Ghostscript"); 
     Process process1 = new Process(); 
     if (html != null && html != "") 
     { process1.StartInfo.FileName = "example.html"; } 
     else 
     { process1.StartInfo.FileName = file; } 
     process1.EnableRaisingEvents = true; 
     process1.StartInfo.Verb = "print"; 
     process1.StartInfo.Arguments = "\"Ghostscript PDF\""; 
     process1.StartInfo.WorkingDirectory = Server.MapPath("~" + "/Export"); 
     process1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
     process1.StartInfo.CreateNoWindow = true; 
     process1.Start(); 
     try 
     { 
      process1.WaitForExit(); 
     } 
     catch (InvalidOperationException) { } 
     process1.Dispose(); 
    } 

이 난 그냥 html 파일에 대해이 작업을 할 필요가 완벽하게 작동 후 내가 pdf 파일을 만들기 위해 사용하는 내 output.ps 파일을 변경해야합니다.

나는이 2 예를 다음 :

Example 1 Example 2

편집 : 내가 HTML에서 PDF 파일을 얻기 위해이 converstion이 필요하고, 그 wkhtmltopdf 가장 나에게 맞는 발견했다.

답변

0

Ghostscript는 HTML 문서를 PDF 또는 PostScript로 변환 (레이아웃 및 렌더링)하지 않으며, 포스트 스크립트 및 PDF 파일을 작업하기위한 라이브러리입니다 (예 : 처음부터 새로 작성하고 포스트 스크립트 파일을 래스터 형식으로 변환).

HTML을 PDF로 변환하려는 경우 가장 좋은 방법은 PrinceXML 또는 호스트 WebKit과 같은 상용 라이브러리를 사용하는 것입니다.

코드가 작동하면 Internet Explorer (또는 셸 기본 웹 브라우저가 무엇이든)에서 렌더링 및 인쇄 자체를 수행하여 작동합니다. 이 기술은 서버 측 환경에서 안정적으로 작동하지 않습니다.