0

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

                        }
4

1 に答える 1

0

最善の方法ではありませんが、HTML から 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();
于 2013-04-15T14:59:49.903 に答える