wkhtmltopdf多页PDF生成过程挂起

时间:2016-10-20 10:29:10

标签: asp.net vb.net process wkhtmltopdf

我试图通过传入多个URL,使用wkhtmltopdf在我的ASP.Net应用程序中生成一个多页的pdf文档。

这是被调用的代码 -

Public Shared Function WKHtmlToPdf(ByVal url As String, ByVal OutputDir As String, ByVal OutputFileName As String) As Boolean

    Dim blnReturn As Boolean = False
    Dim wkhtml As String = HttpContext.Current.Server.MapPath("~/resources/wkhtmltopdf/wkhtmltopdf.exe")
    Dim p As New Process()

    p.StartInfo.CreateNoWindow = True
    p.StartInfo.RedirectStandardOutput = True
    p.StartInfo.RedirectStandardError = True
    p.StartInfo.RedirectStandardInput = True
    p.StartInfo.UseShellExecute = False
    p.StartInfo.FileName = wkhtml
    p.StartInfo.WorkingDirectory = OutputDir

    p.StartInfo.Arguments = url & " " & OutputFileName
    p.Start()
    p.WaitForExit(60000)

    Dim returnCode As Integer = p.ExitCode
    p.Close()

    If returnCode = 0 Then
        blnReturn = True
    End If

    Return blnReturn

End Function

现在我遇到的问题是

的错误
p.WaitForExit(60000)

,出现以下错误消息。

Process must exit before requested information can be determined.

但是,当我传入超过4或5个URL时,似乎只会发生此错误,它似乎是随机的,有时会更少,有时会更多。这导致该过程花费很长时间来生成PDF,从而在p.WaitForExit错误...

我想知道是否有某种请求限制被命中?在直接使用命令提示符时,我可以使用所需的URL生成PDF。

0 个答案:

没有答案
相关问题