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?

MVC - 生成多个 PDF

您将字节输出为响应,因此您永远无法在一个响应中生成 2 个不同的文件。每个请求只有一个响应。如果您希望用户同时下载 2 个不同的 PDF,您可以从视图中使用 javascript 调用控制器。