2017-02-22 2 views
1

나는 내 웹 프로젝트 (비주얼 스튜디오 2012의 C#), 에 "NReco.PdfGenerator.dll"를 사용하고 인터넷 URL에서 (같은 http://google.com.tw) succsssfully 를 내보낼 수 있습니다 그러나 나는 URL을 변경할 때 내부 URL에 (기업 내부 시스템 교체 아웃)하고이 오류 메시지를 받았습니다 : "때문에 네트워크 오류 코드 1 번 출구 : PDF 생성 할 수 없습니다 AuthenticationRequiredError (종료 코드 : 1)"NReco.PdfGenerator 오류 : AuthenticationRequiredError

을 여기

가 내 코드 :

new NRe co.PdfGenerator.HtmlToPdfConverter(). GeneratePdfFromFile ("http://xxx.xxx.xxxx", null, AppDomain.CurrentDomain.BaseDirectory + "test.pdf");

아무도이 문제를 도와 줄 수 있습니까 ??? 당신에게

답변

1

AuthenticationRequiredError이 (내부적으로 PdfGenerator는 별도의 프로세스를 실행) 지정된 URL은 HTTP 코드 401 (무단)을 반환 할 때 wkhtmltopdf에 의해 반환 너무 감사드립니다.

대부분의 경우 이는 인증 된 사용자 만이 웹 페이지에 액세스 할 수 있음을 의미합니다. 대부분의 웹 응용 프로그램에서 인증 토큰은 쿠키 또는 HTTP 헤더와 함께 전달됩니다.

당신은 예를 들어, 특수 wkhtmltopdf 옵션 쿠키 중 하나를 전달할 수 있습니다 추가 HTTP 헤더

var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); 
htmlToPdf.CustomWkHtmlArgs = " --cookie <name> <value>"; 

옵션 :

htmlToPdf.CustomWkHtmlArgs = " --custom-header <name> <value> "; 

참고가 Windows 인증을 필요로 URL을 렌더링 할 수없는 것을 ; 이 경우 wkhmtltopdf를 사용하여 이러한 페이지에 액세스하는 대체 auth 메커니즘을 사용해야합니다.