【发布时间】:2011-12-25 04:19:54
【问题描述】:
我有从 PDF 模板生成 PDF 文件的代码(在 .ashx 文件中)。生成的 pdf 使用名称和代码进行个性化。我使用iTextSharp 这样做。
这是代码:
using (var existingFileStream = new FileStream(fileNameExisting, FileMode.Open))
using (var newFileStream = new FileStream(fileNameNew, FileMode.Create))
{
var pdfReader = new PdfReader(existingFileStream);
var stamper = new PdfStamper(pdfReader, newFileStream);
var form = stamper.AcroFields;
var fieldKeys = form.Fields.Keys;
form.SetField("Name", name);
form.SetField("Code", code);
stamper.FormFlattening = true;
stamper.Close();
pdfReader.Close();
}
context.Response.AppendHeader("content-disposition", "inline; filename=zenith_coupon.pdf");
context.Response.TransmitFile(fileNameNew);
context.Response.ContentType = "application/pdf";
这可行,但它会将文件保存在服务器上。我不想这样做,因为会有很多人下载 PDF 文件,服务器很快就会满员。
所以我的问题是,如何使用 iTextSharp 生成 PDF 而不保存并将其提供给用户?
【问题讨论】:
标签: c# asp.net pdf-generation itextsharp