1

在我的控制器中,我正在渲染一个视图。

我的 Action 方法如下所示:

public ActionResult SomePrint(Model model)
{
   //Some business action
   return View("viewname",model); 
}

现在我的要求是将此视图保存为我的解决方案中的文件(可能是 pdf 文件),并在打印完成后将其发送到打印和删除文件。

尝试使用 Rotativa 并将其转换为 pdf,如下所示

public ActionResult DownloadViewPDF()
{
   var model = new GeneratePDFModel();
     //Code to get content
   return new Rotativa.ViewAsPdf("GeneratePDF", model){FileName = "TestViewAsPdf.pdf"}
}

但我需要将其保存为 pdf 并打印出来。

有什么帮助吗?提前致谢。

4

2 回答 2

0

您可以在 ViewAsPdf 上使用 BuildPdf 方法。

public ActionResult DownloadViewPDF()
    {
        var model = new GeneratePDFModel();
        var pdfResult = new ViewAsPdf("GeneratePDF", model) 
                          { FileName = "TestViewAsPdf.pdf" };

        var binary = pdfResult.BuildPdf(this.ControllerContext);

        // you can save the binary pdf now

        return File(binary, "application/pdf");
    }
于 2015-02-07T09:35:05.217 回答
0

如果您一直要求导出到已知的可转换类型(例如 Excel),那么格式化流就足够了。但是,如果您想导出为 PDF,您应该创建另一个视图来导出文件并使用第三方应用程序,例如 iText。

于 2015-02-06T15:29:22.047 回答