2014-07-19 3 views
0

wkhtmltopdf.exe를 사용하고 있습니다 (최대 10 개월 동안은 아무런 문제없이 작업 한 상태 였지만 며칠 동안). wkhtmltopdf.exe에 문제가 있습니다. 지금은 wkhtmltopdf.exe에서 오류가 발생하고 PDF가 생성되지 않고 JavaScript가 사용됩니다. 내가 클릭하면 페이지가 우리의 서면 오류 페이지로 이동합니다. PDF의 문제는 wkhtmltopdf.exe의 모든 버전으로 제공되지 않습니다. 우리 코드와 응용 프로그램은 매우 명확합니다 .wkhtmltopdf.exe는 라이브 서버 (Windows 2008 R2 엔터프라이즈)에서 로컬로 작동하지 않습니까? 우리는 모든 버전을 (wkhtmltopdf 사이트에서) 시도했습니다. [http://wkhtmltopdf.org/downloads.html] 모두 localhost에서 작동했지만 라이브 서버에서는 작동하지 않았습니다. 로컬 서버 iis 버전은 (7.5) 라이브 서버와 동일합니다. iis 버전 (7.5) 다음에 수행 할 작업 ?? localhost에서 pdf는 Windows 서버 2008 R2 엔터프라이즈에서 동일한 버전을 사용하지만 iis 버전은 (7.5)이지만 PDF는 생성되지 않습니다. 위의 코드에서라이브 서버 (Windows server 2008 R2 enterprise)에서 PDF는 wkhtmltopdf.exe로 생성되지 않고 로컬 호스트에서 작동합니다.

protected void Export(object sender, EventArgs e) 
    {   
     String GlobalDomainName = System.Configuration.ConfigurationManager.AppSettings["live_domainName"]; 

     string url = "PropertyEWC.aspx?id=" + PropertyId + "&bid=" + UserData.BranchId + "&aid=" + UserData.CompanyId; 


     string args = string.Format("\"{0}\" - ", GlobalDomainName + url); 
     var startInfo = new ProcessStartInfo("C:\\Program Files\\wkhtmltopdf1\\bin\\wkhtmltopdf.exe", args) 
     { 

      UseShellExecute = false, 
      CreateNoWindow = true, 
      RedirectStandardOutput = true 

     }; 
     var proc = new Process { StartInfo = startInfo }; 
     proc.Start(); 
     string output = proc.StandardOutput.ReadToEnd(); 
     byte[] buffer = proc.StandardOutput.CurrentEncoding.GetBytes(output); 
     proc.WaitForExit(); 
     proc.Close(); 
     Response.ContentType = "application/pdf"; 
     Response.AddHeader("Content-Disposition", "attachment;filename=ElectronicWindow.pdf"); 
     Response.BinaryWrite(buffer); 
     Response.End(); 
    } 

우리가 proc.start에 오류가있다() 오류를 해결하기 위해 수행 할 작업 proc.start에 대한 자신의 어떤 다른 방법이다.

+0

시작을 호출 할 때 어떤 오류가 발생합니까? –

+0

페이지가 시간 오류 @mikez를 실행하려고합니다 – user2801432

+0

@mikez 페이지가 시간 오류를 실행하려고합니다 – user2801432

답변

0

그것은 나를 위해 wkhtmltopdf.exe 속성에서 변경 작업을 수행합니다. wkhtmltopdf.exe에서 마우스 오른쪽 버튼을 클릭하고 속성을 선택하십시오. 속성에서 보안 옵션을 선택하십시오. 그 U UR 액세스 옵션을 변경할 수 있습니다.