MVC - 生成多个 PDF
本文关键字:PDF MVC | 更新日期: 2023-09-27 18:35:41
我使用以下代码生成PDF
文件。
它运行良好,但现在我想同时生成4 PDF's
。
我尝试再次启动Document
并重复整个代码以生成第二个PDF报告,但它只生成1个PDF。
var document = new Document(PageSize.A4, 50, 50, 25, 25);
// Create a new PdfWrite object, writing the output to a MemoryStream
var output = new MemoryStream();
var writer = PdfWriter.GetInstance(document, output);
// Open the Document for writing
document.Open();
string contents = System.IO.File.ReadAllText(Server.MapPath("~/Reports/Original.html"));
var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(contents), null);
foreach (var htmlElement in parsedHtmlElements)
document.Add(htmlElement as IElement);
document.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename=Receipt-{0}.pdf", "Report"));
Response.BinaryWrite(output.ToArray());
return View();
如何生成多个 PDF?
您将字节输出为响应,因此您永远无法在一个响应中生成 2 个不同的文件。每个请求只有一个响应。如果您希望用户同时下载 2 个不同的 PDF,您可以从视图中使用 javascript 调用控制器。