【问题标题】:How to use web handlers for PDF creation?如何使用 Web 处理程序创建 PDF?
【发布时间】:2015-07-16 11:48:10
【问题描述】:

我对网络处理程序知之甚少。我所知道的是 Web 处理程序用于创建一些动态文件创建目的。

而且我还知道如何添加 Web 处理程序。

但是,我需要在我的 ASP.NET 项目中使用 Web 处理程序来创建 PDF。

【问题讨论】:

    标签: c# asp.net web-applications ashx aspx-user-control


    【解决方案1】:

    您可以使用 HTTP 处理程序来提供您的 PDF,如下所示:

    public void ProcessRequest (HttpContext context) {
    
        // Get your file as byte[]
        string filename = "....file name.";
        byte[] data = get your PDF file content here;
    
        context.Response.Clear();
        context.Response.AddHeader("Pragma", "public");
        context.Response.AddHeader("Expires", "0");
        context.Response.AddHeader("Content-Type", ContentType);
        context.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", filename));
        context.Response.AddHeader("Content-Transfer-Encoding", "binary");
        context.Response.AddHeader("Content-Length", data.Length.ToString());
        context.Response.BinaryWrite(data);
        context.Response.End(); 
    
    }
    

    【讨论】:

      【解决方案2】:

      阅读What is an HttpHandler in ASP.NETMSDN: HTTP Handlers and HTTP Modules Overview

      您不需要处理程序来提供文件以通过 HTTP 下载。您还可以在 WebForms 页面以及 ASP.NET MVC 和 WebAPI 中生成并返回文件响应。

      根据您使用的技术,请查看:

      当然,处理程序顶部的任何层(与直接从处理程序运行代码相反)都会增加额外的开销(尽管它会是最小的),我怀疑 WebForms 是最重的。 MVC 和 WebAPI 运行 through the MvcHandler

      【讨论】:

        猜你喜欢
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        • 2013-12-24
        • 1970-01-01
        • 1970-01-01
        • 2016-03-25
        • 2010-09-12
        • 1970-01-01
        相关资源
        最近更新 更多