如何使用Web处理程序创建PDF?

问题描述 投票:2回答:2

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

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

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

c# asp.net web-applications ashx aspx-user-control
2个回答
2
投票

您可以有一个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

© www.soinside.com 2019 - 2024. All rights reserved.