我想将一个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吗?