Вы можете посмотреть на пакет Nuget: Rotativa http://nuget.org/packages/Rotativa. Он основан на wkhtmltopdf.
Использование действительно просто.
Имея действие, которое вы хотели бы выполнять в качестве PDF,вместо HTML-страницы.Вы можете определить действие, которое возвращает ActionResult типа ActionAsPdf (также доступен RouteAsPdf).Таким образом, код просто:
public ActionResult PrintIndex()
{
return new ActionAsPdf("Index", new { name = "Giorgio" }) { FileName = "Test.pdf" };
}
С параметром маршрута name = "Giorgio".
Посмотрите на это GitHub