Проблема при преобразовании HTML в PDF только на сервере, Itextsharp, C#
Я использую следующий код для создания PDF из HTML.
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;
}
}
Здесь, когда я запускаю это на локальном компьютере, он работает отлично, и на сервере я получаю следующую ошибку: "Базовое соединение было закрыто: соединение было неожиданно закрыто".
Я пробовал так много решений, чтобы он работал на сервере, но не повезло. Я пытался с обновлением тайм-аута подключения в IIS, а также конфигурации, это не будет работать.