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));
                        }

PDF从HTML字符串与HTML标签在c# ASP.Net

这不是最好的方法,但您可以通过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();