使用ASP.NET MVC导出PDF文件

本文关键字:PDF 文件 导出 MVC ASP NET 使用 | 更新日期: 2023-09-27 18:29:23

我有一个ASP.NET MVC4应用程序,我想在其中将html页面导出为PDF文件,我使用了这段代码,它运行良好:代码

这段代码将html页面转换为在线PDF,我想直接下载该文件。

如何更改此代码以获得此结果?

使用ASP.NET MVC导出PDF文件

带有FileContentResult:

protected FileContentResult ViewPdf(string pageTitle, string viewName, object model)
{
    // Render the view html to a string.
    string htmlText = this.htmlViewRenderer.RenderViewToString(this, viewName, model);
    // Let the html be rendered into a PDF document through iTextSharp.
    byte[] buffer = standardPdfRenderer.Render(htmlText, pageTitle);
    // Return the PDF as a binary stream to the client.
    return File(buffer, "application/pdf","file.pdf");
}

将其作为附件,并在返回结果时给它一个文件名:

protected ActionResult ViewPdf(string pageTitle, string viewName, object model)
{
    // Render the view html to a string.
    string htmlText = this.htmlViewRenderer.RenderViewToString(this, viewName, model);
    // Let the html be rendered into a PDF document through iTextSharp.
    byte[] buffer = standardPdfRenderer.Render(htmlText, pageTitle);
    // Return the PDF as a binary stream to the client.
    return File(buffer, "application/pdf", "myfile.pdf");
}

使文件显示为附件并弹出"另存为"对话框的是以下行:

return File(buffer, "application/pdf", "myfile.pdf");

使用:

这是针对VB.NET(下面的C#)

    Public Function PDF() As FileResult
        Return File("../PDFFile.pdf", "application/pdf")
    End Function

在你的行动方法中。其中PDFFIle是您的文件名。

对于C#

Public FileResult PDF(){
    return File("../PDFFile.pdf", "application/pdf");
}