2013-04-15 29 views
0

我正在使用ITextSharp從HTML字符串創建PDF。我寫了下面的代碼,但如果strReplace是一個帶有標記的HTML字符串,我如何在C#中使用itextSharp生成PDF?來自HTML字符串的PDF在C#中使用HTML標籤ASP.Net

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

         } 
+0

strReplace是我的最終字符串與HTML代碼,我應該寫什麼來從相同的生成PDF。 –

回答

0

不是最好的方式來做到這一點,但你可以通過HTML to PDF轉換器iText來運行它。

// 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(); 
相關問題