0

我正在尝试将我们的应用程序页面保存为 PDF。该页面包含有关当前登录成员的数据,但是当我将页面 url 传递给 wkhtmltopdf 时,新进程未登录,因此看不到该数据。

是否可以让 wkhtmltopdf 以特定成员身份登录?我试过使用用户名和密码参数,但这些是基本的http auth,似乎没有任何效果。

我正在使用https://github.com/codaxy/wkhtmltopdf来包装 wkhtmltopdf。我的用法:

string filename = "file.pdf";
MemoryStream memory = new MemoryStream();
PdfDocument document = new PdfDocument() { Url = Request.Url.AbsoluteUri };
PdfOutput pdfoutput = new PdfOutput() { OutputStream = Response.OutputStream };

PdfConvert.ConvertHtmlToPdf(document, pdfoutput);

Response.ContentType = "Application/pdf";
Response.AppendHeader("content-disposition", "attachment; filename=" + filename);
Response.End(); 
4

1 回答 1

0

我找到了一种将 auth cookie 包含到 wkhtmltopdf 进程中的方法:

// Authentication
paramsBuilder.Append("--cookie " + System.Web.Security.FormsAuthentication.FormsCookieName + " " + umbraco.library.RequestCookies(System.Web.Security.FormsAuthentication.FormsCookieName) + " ");

似乎可以解决问题!

于 2013-11-20T13:24:55.940 回答