C# 使用itestsharp生成PDF
我正在尝试使用itextsharp生成pdf文件 以下是生成PDF的方法:C# 使用itestsharp生成PDF,c#,visual-studio-2010,pdf,sharepoint-2010,C#,Visual Studio 2010,Pdf,Sharepoint 2010,我正在尝试使用itextsharp生成pdf文件 以下是生成PDF的方法: private void Page_onPreRenderComplete(object sender, EventArgs e) { // createPdf.GeneratePDF(htmlMarkup); MemoryStream memoryStream = new MemoryStream(); StringBuilder sBuilder = new StringBuilder();
private void Page_onPreRenderComplete(object sender, EventArgs e)
{
// createPdf.GeneratePDF(htmlMarkup);
MemoryStream memoryStream = new MemoryStream();
StringBuilder sBuilder = new StringBuilder();
StringWriter sw = new StringWriter(sBuilder);
HtmlTextWriter htmlText = new HtmlTextWriter(sw);
Page.RenderControl(htmlText);
string pdfBody = sBuilder.ToString();
Document document = new Document();
PdfWriter.GetInstance(document, memoryStream);
document.Open();
StyleSheet styles = new StyleSheet();
HTMLWorker hw = new HTMLWorker(document);
try
{
hw.Parse(new StringReader(pdfBody));
}
catch (Exception ex)
{
string msg = ex.Message;
}
finally
{
document.Close();
}
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=outfile.pdf");
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.Write(memoryStream);
HttpContext.Current.Response.End();
}
在try块内的行上生成错误。如何修复此问题?可能是图像标记等在呈现的HTML中位于相对路径而不是绝对路径中出现了什么错误?“未找到网络路径。\r\n“
HTMLWorker
很久以前被XmlWorker
替换,建议您切换到该路径。同时,请参见此图,其中显示了如何设置相对图像路径: