Как использовать веб-обработчики для создания PDF?

У меня довольно мало знаний о веб-обработчиках. все, что я знаю, это то, что веб-обработчики используются для создания динамических целей создания файлов. а также я знаю, как добавить веб-обработчики. Но мне нужно использовать веб-обработчики в моем проекте Asp.Net для целей создания PDF. У кого-нибудь есть идея?

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(); 

}

Прочтите, что такое HttpHandler в ASP.NET и MSDN: обзор обработчиков HTTP и модулей HTTP.

Вам не нужен обработчик для обслуживания файлов для загрузки по HTTP. Вы также можете генерировать и возвращать ответ файла на странице WebForms, а также из ASP.NET MVC и WebAPI.

В зависимости от используемой вами технологии, проверьте:

Конечно, любой слой поверх обработчика (в отличие от запуска вашего кода непосредственно из обработчика) добавляет дополнительные издержки (хотя они будут минимальными), где я подозреваю, что WebForms будут самыми тяжелыми. MVC и WebAPI запускаются через MvcHandler.

Другие вопросы по тегам