将服务器上的HTML转换为PDF时的问题,Itextsharp,C#

时间:2017-01-29 08:46:17

标签: c# itext html-to-pdf

我正在使用以下代码从HTML生成PDF。

 public byte[] GetPDF(StringBuilder pHTML)
    {
        try
        {
            MyError.LogSystemError("In GET PDF", (new System.IO.FileInfo(Request.Url.AbsolutePath)).Name, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name, Session["UserID"].ToString(), Request.UserHostAddress.ToString());
            byte[] bPDF = null;

            StringReader sr = new StringReader(pHTML.ToString());

            Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
            HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
            using (MemoryStream memoryStream = new MemoryStream())
            {
                PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
                pdfDoc.Open();
                MyError.LogSystemError("Before Parse", (new System.IO.FileInfo(Request.Url.AbsolutePath)).Name, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name, Session["UserID"].ToString(), Request.UserHostAddress.ToString());
                htmlparser.Parse(sr);
                MyError.LogSystemError("After Parse", (new System.IO.FileInfo(Request.Url.AbsolutePath)).Name, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name, Session["UserID"].ToString(), Request.UserHostAddress.ToString());
                pdfDoc.Close();

                bPDF = memoryStream.ToArray();
                memoryStream.Close();
            }
            return bPDF;
        }
        catch (Exception ex)
        {
            MyError.LogSystemError(ex, (new System.IO.FileInfo(Request.Url.AbsolutePath)).Name, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name, Session["UserID"].ToString(), Request.UserHostAddress.ToString());
            return null;
        }
    }

这里当我在Local上运行它时它完美运行并且在服务器上我收到以下错误: “基础连接已关闭:连接意外关闭。”

我尝试了很多解决方案,使其在服务器上运行但没有运气。 我已尝试在IIS和配置中使用连接超时更新,这将无法正常工作。

0 个答案:

没有答案