如何在Windows应用程序中使用iTextsharp从内存中打开浏览器控件中的PDF。我发现这段代码从内存中发送PDF作为邮件here。我需要帮助来修改它,以便能够在内存中而不是在邮件中显示在浏览器中。
这是我到目前为止所做的:
private void SendPDFEmail(DataTable dt)
{
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
StringBuilder sb = new StringBuilder();
sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
sb.Append("<tr><td align='center' colspan = '2'><b>Certified Information Systems Auditor CISA</b><br />Notice of Mock Result<br />TESTED <b>");
sb.Append(lblToday.Text);
sb.Append("</b></td></tr>");
sb.Append("<tr><td colspan = '2'></td></tr>");
sb.Append("<tr><td colspan = '2'><b>");
sb.Append(lblThank.Text);
sb.Append("</b></td></tr>");
sb.Append("<tr><td colspan = '2'></td></tr>");
sb.Append("<tr><td colspan = '2' align='center'><i><b>");
sb.Append(lblTotalScore.Text);
sb.Append("</b></i></td></tr>");
sb.Append("<tr><td colspan = '2'></td></tr>");
sb.Append("<tr><td colspan = '2'>");
sb.Append(lblScoreInfo.Text);
sb.Append("</td></tr>");
sb.Append("<tr><td colspan = '2'></td></tr>");
sb.Append("<tr><td colspan = '2' align='center'><b>");
sb.Append(lblScoreArea.Text);
sb.Append("</b></td></tr>");
sb.Append("</table>");
sb.Append("<br />");
sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
sb.Append("<tr><td align='left' colspan = '2'>Issued by</td></tr>");
sb.Append("<tr><td colspan = '2'></td></tr>");
sb.Append("<tr><td colspan = '2' align='left'><b>Mock Team Organisers</b></td></tr>");
sb.Append("</table>");
StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4, 20f, 10f, 10f, 10f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
try
{
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
}
}
catch //(Exception ex)
{
//MessageBox.Show(ex.Message);
}
}
}
}
这是Windows应用程序而非Web应用程序