PDF从HTML字符串与HTML标签在c# ASP.Net
本文关键字:HTML ASP Net 字符串 PDF 标签 | 更新日期: 2023-09-27 18:09:19
我正在使用ITextSharp从HTML字符串创建PDF。我写了下面的代码,但如果strReplace是我的HTML字符串与标签,我如何在c#中使用itextSharp生成PDF ?
MemoryStream PDFData = new MemoryStream();
Document document = new Document(PageSize.LETTER, 50, 50, 80, 50);
PdfWriter PDFWriter = PdfWriter.GetInstance(document, PDFData);
PDFWriter.ViewerPreferences = PdfWriter.PageModeUseOutlines;
document.Open();
AddOutline(PDFWriter, "", document.PageSize.Height);
document.Add(new Paragraph("'r'n"));
StringBuilder strReplace = new StringBuilder();
strReplace.Append(strTemplate);
var query = (from c in objAMSContainer.tblincomes
join o in objAMSContainer.tblincomedetails on c.colId equals o.ColId
where c.colId == 9
&& c.colIsDeleted == false
select new { c.colId, o.colQuantity, o.colPrice, o.colAmount }).ToList();
for (int j = 0; j < query.Count; j++)
{
// strReplace.Replace("[ITEM]", Convert.ToString(query[j].colId));
strReplace.Replace("${QTY}", Convert.ToString(query[j].colQuantity));
strReplace.Replace("${PRICE}", Convert.ToString(query[j].colPrice));
strReplace.Replace("${TOTAL}", Convert.ToString(query[j].colAmount));
}
这不是最好的方法,但您可以通过iText的HTML到PDF转换器运行它。
// convert string to stream
byte[] byteArray = Encoding.UTF8.GetBytes(strReplace);
MemoryStream stream = new MemoryStream(byteArray);
//get the XMLWorkerHelper Instance
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
//convert to PDF
worker.parseXHtml(PDFWriter , document, stream);
//close the document
document.close();
//close the writer
pdfWriter.close();