我想将 HTML + CSS 页面转换为 PDF 文件。我已经尝试过wkhtmltopdf,但我遇到了一个问题,因为我要访问的页面需要在网站上进行身份验证。
我想转换为 PDF 的页面有以下 URL:http://[WEBSITE]/PDFReport/33
如果我尝试在未经身份验证的情况下访问它,我将被重定向到登录页面。
所以当我使用 wkhtmltopdf 时,它会将我的登录页面转换为 PDF ......
我在 ASP.NET MVC 应用程序上使用的身份验证方法是 SimpleMembership:
[Authorize]
public ActionResult PDFReport(string id)
{
}
我正在使用 System.Diagnostics.Process 执行 wkhtmltopdf.exe :
FileInfo tempFile = new FileInfo(Request.PhysicalApplicationPath + "\\bin\\test.pdf");
StringBuilder argument = new StringBuilder();
argument.Append(" --disable-smart-shrinking");
argument.Append(" --no-pdf-compression");
argument.Append(" " + "http://[WEBSITE]/PDFReport/33");
argument.Append(" " + tempFile.FullName);
// to call the exe to convert
using (Process p = new System.Diagnostics.Process())
{
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = Request.PhysicalApplicationPath + "\\bin\\wkhtmltopdf.exe";
p.StartInfo.Arguments = argument.ToString();
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.Start();
p.WaitForExit();
}
您知道如何在不禁用此页面的安全性的情况下生成 PDF 吗?