gpt4 book ai didi

c# - 使用 iTextSharp 从带有图像的 HTML 页面生成 PDF

转载 作者:行者123 更新时间:2023-11-30 17:52:54 25 4
gpt4 key购买 nike

我使用 iTextSharp.dll 创建 pdf。但这仅适用于文本 HTML 内容。如果我在我的页面上使用图片,它会抛出找不到图片的异常。

我的设计文件

<asp:Panel ID="pdfPannel" runat="server">

Sample Text
<img src="../Images/image1.png"/>


</asp:Panel>

<asp:Button ID="btnSave" runat="server" Text="Save As PDF" onclick="btnSave_Click" />

我的方法:

protected void btnSave_Click(object sender, EventArgs e)
{

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=print.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
pdfPannel.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();

}

当我点击保存按钮时,出现以下错误

Could not find a part of the path 'C:\Program Files\CommonFiles\Microsoft Shared\DevServer\Images\image1.png'.

请告诉我是否有任何替代解决方案来创建 pdf。

最佳答案

您的代码看起来不错。图像路径似乎有问题。尝试将其设置为图像的完全限定路径,它会为您工作。

此外,如果您从服务器端代码操作 HTML。然后我会建议您使用 Server.MapPath() 映射图像路径。它将正常工作。

关于c# - 使用 iTextSharp 从带有图像的 HTML 页面生成 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17987600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com