我有從PDF模板生成PDF文件的代碼(在.ashx文件中)。生成的pdf通過名稱和代碼進行個性化。我使用iTextSharp來做到這一點。把生成的pdf文件不保存在服務器上
這是代碼:
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文件,服務器會很快滿了。
所以我的問題是,我怎樣才能生成一個PDF與iTextSharp沒有保存它,並把它給用戶?