HTML + CSS ページを PDF ファイルに変換したいと考えています。wkhtmltopdfを試してみましたが、アクセスしたいページが Web サイトで認証される必要があるため、問題が発生しました。
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 を生成する方法を知っていますか?