【发布时间】:2021-10-05 05:47:36
【问题描述】:
我创建了 ExportToPDF 按钮来将 Gridview 导出为 PDF 文件,那么如何在 PDF 文件中添加图像背景作为水印?
protected void ExportToPDF(object sender, EventArgs e)
{
using (StringWriter sw = new StringWriter())
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
gvOrders.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
pdfDoc.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(pdfDoc);
Response.End();
}
}
【问题讨论】:
-
我在这里没有看到问题。阅读How to Ask。
-
您的
Response.Write(pdfDoc)行将在您的pdf 末尾添加垃圾字节。这将导致一些 pdf 处理器拒绝它。