MVC - 生成多个PDF

时间:2014-12-29 05:43:54

标签: c# asp.net-mvc pdf document

我使用以下代码生成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?

1 个答案:

答案 0 :(得分:3)

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