2014-12-29 70 views
2

我正在使用以下代碼來生成PDF文件。MVC - 生成多個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?

回答

3

您正在輸出字節作爲響應,所以您將永遠無法在一個響應中生成2個不同的文件。每個請求只有一個響應。 如果您希望用戶同時下載2個不同的PDF文件,您可以從視圖中使用javascript調用控制器。

+0

我會試試看..! – Anup

+0

請給我正確的答案!我被分數哈哈認爲 – Badulake