c# - MVC - 生成多个 PDF

标签 c# asp.net-mvc pdf document

我正在使用以下代码生成 PDF 文件。

它运行良好,但现在我想同时生成 4 个 PDF

我尝试再次启动文档并重复生成第二个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,您可以从 View 中使用 javascript 调用 Controller 。

关于c# - MVC - 生成多个 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27683963/

相关文章:

javascript - 从 AJAX 调用 Controller 操作而不重定向用户

vba - Excel VBA 宏打印为 PDF - 不支持输出文件?

c# - Windows Phone 8,应用程序设置未保留

c# - ASP.NET 5 RC Web API + Framework 4.6 RC Lib

c# - "C:\"访问被拒绝

c# - 需要获取应用程序文件夹

asp.net-mvc - ASP .NET MVC 4 中的 FormBuilder

c# - 如何在.net core项目中添加View路由?

r - 如何将交互式热图添加到 PDF?

java - 表在同一行