5

https://github.com/codaxy/wkhtmltopdfラッパーを使用して、Web サイトの Web ページから PDF を作成しています ( http://mywebsite.azurewebsites.net/PageToRender.aspxなどの絶対 URL を渡します) 。 dev および別の共有ホスティング アカウントでは正常に動作しますが、Azure Web サイトにデプロイすると失敗し、ThreadAbortException だけが返されます。Azure で wkhtmltopdf を使用することは可能ですか?

更新: Process.Start を使用したこの単純な例も機能しません。Azure で実行するとハングするだけですが、他のサーバーでは問題なく動作します。

string exePath = System.Web.HttpContext.Current.Server.MapPath("\\App_Data\\PdfGenerator\\wkhtmltopdf.exe");
string htmlPath = System.Web.HttpContext.Current.Server.MapPath("\\App_Data\\PdfGenerator\\Test.html");
string pdfPath = System.Web.HttpContext.Current.Server.MapPath("\\App_Data\\PdfGenerator\\Test.pdf");
StringBuilder error = new StringBuilder();
using (var process = new Process())
{
    using (Stream fs = new FileStream(pdfPath, FileMode.Create))
    {
        process.StartInfo.FileName = exePath;
        process.StartInfo.Arguments = string.Format("{0} -", htmlPath);
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.RedirectStandardError = true;
        process.StartInfo.UseShellExecute = false;
        process.Start();
        while (!process.HasExited)
        {
            process.StandardOutput.BaseStream.CopyTo(fs);
        }
        process.WaitForExit();
    }
}
4

1 に答える 1