我在我的web项目(Visual studio 2012,c#)中使用了"NReco.PdfGenerator.dll“,它可以成功地从互联网url (如http://google.com.tw)导出,但当我将url更改为内部url (公司内部系统外)时,我收到了以下错误消息:
“由于网络错误,无法生成PDF:退出,代码为%1:AuthenticationRequiredError(退出代码:% 1)”
下面是我的代码:
new NReco.PdfGenerator.HtmlToPdfConverter().GeneratePdfFromFile("http://xxx.xxx.xxxx",null,AppDomain.CurrentDomain.BaseDirectory + "test.pdf");
有人能帮助解决这个问题吗?非常感谢
发布于 2017-03-11 21:23:30
当指定的URL返回HTTP code 401 (未经授权)时,AuthenticationRequiredError由wkhtmltopdf (内部PdfGenerator在单独的进程中执行)返回。
在大多数情况下,这意味着只有经过身份验证的用户才能访问此网页;在大多数web应用程序中,身份验证令牌是通过cookie或HTTP头传递的。
您可以传递带有特殊wkhtmltopdf选项的cookie,例如:
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.CustomWkHtmlArgs = " --cookie <name> <value>";额外HTTP标头的选项:
htmlToPdf.CustomWkHtmlArgs = " --custom-header <name> <value> ";请注意,不可能呈现需要windows身份验证的URLs;在这种情况下,wkhmtltopdf应该使用替代身份验证机制来访问这些页面。
https://stackoverflow.com/questions/42381382
复制相似问题