//// при использовании HTMLWorker для печати PDF, тогда, если данных больше, чем показывает
System.OutOfMemoryException. Итак, мы используем XMLWorkerHelper для преодоления
этот вопрос сейчас, когда мы использовали его, то в PDF мои изображения не отображаются.
любой поможет мне решить эту проблему.
> Blockquote
public byte[] Render(string htmlText, string pageTitle)
{
byte[] renderedBuffer;
using (var outputMemoryStream = new MemoryStream())
{
using (var pdfDocument = new Document(PageSize.A4,
HorizontalMargin, HorizontalMargin, VerticalMargin,
VerticalMargin))
{
PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDocument,
outputMemoryStream);
pdfWriter.CloseStream = false;
pdfWriter.PageEvent = new PrintHeaderFooter { Title = pageTitle };
pdfDocument.Open();
XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter,
pdfDocument, new StringReader(htmlText));
pdfDocument.Close();
//using (var htmlViewReader = new StringReader(htmlText))
//{
// using (var htmlWorker = new HTMLWorker(pdfDocument))
// {
// htmlWorker.Parse(htmlViewReader);
// }
//}
}
renderedBuffer = new byte[outputMemoryStream.Position];
outputMemoryStream.Position = 0;
outputMemoryStream.Read(renderedBuffer,
0,renderedBuffer.Length);
}
return renderedBuffer;
}
////, тогда как у меня есть данные в формате Tabluar, как это:
<tr border="1" bgcolor="#EEFFFF">
<td style="font-family: Verdana; font-size: 9px;">DIAMOND
MANGALSUTRA
</td>
<td style="font-family: Verdana; font-size: 9px;">N35-1275
</td>
<td style="font-family: Verdana; font-size: 9px;">Gold
</td>
<td style="font-family: Verdana; font-size: 9px;">5.640
</td>
<td style="font-family: Verdana; font-size: 9px;">Diamond (18)
</td>
<td style="font-family: Verdana; font-size: 9px;">11250.00
</td>
<td style="font-family: Verdana; font-size: 9px;">31108
</td>
<td style="font-family: Verdana; font-size: 9px;">
<img src = 'http://localhost:59331/Resources/Product/N35-
1275636766003039719694.jpg' alt=" " width="60" height="42"
border="0" />
</td>
<td style="font-family: Verdana; font-size: 9px;">
Yes
</td>
</tr>