1
我正在使用itextsharp dll以PDF格式打印网页。我在我的html文件中有一个<img src="Images/flower.jpg" />
。当我没有图像时,下面的按钮点击事件将渲染PDF。随着图像,我得到这个错误:无法通过c#找到html页面中的图像html解析器
Could not find a part of the path 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\Images\flower.jpg'
这里是我的代码:
protected void Button1_Click(object sender, EventArgs e)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
this.Page.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
我有一个 –
在你的HTML中,你需要给图像一个绝对路径,因为相对路径意味着相对于当前工作目录,这是你弹出错误时看到的路径。 –
这有效。谢谢。这意味着我必须在路径移至生产服务器时更新路径。 –