Ciao, potresti utilizzare iTextSharp, creare il documento da stampare in html + css e passare il tutto all'XMLWorkerHelper di iTextSharp per creare il PDF, e penso sia il metodo più veloce, perchè ti permette di disegnare il pdf partendo da un html veloce e semplice da creare:
http://stackoverflow.com/a/25164258/1082342
riporto l'esempio qui per completezza:
inoltre esistono svariati progetti open source per facilitarti anche il compito di generare il pdf di output partendo da viste razor di un asp.net mvc, sfruttando custom ActionResult:
http://github.com/andyhutch77/MvcRazorToPdf
http://github.com/RazorAnt/RazorPDF
e se non vuoi dipendenza su iTextSharp, puoi provare anche Rotativa, davvero eccellente anche questo progetto, che si basa su un altro progetto opensource wkhtmltopdf (http://wkhtmltopdf.org/), ma sfrutta un eseguibile quindi non sempre è una soluzione percorribile (se ad esempio sul server dove vai ad installare il sito non ti permette di lanciare eseguibili):
http://github.com/webgio/Rotativa
in ultimo anche questa libreria HTML-Renderer, che principalmente è ideata per renderizzare pagine html, ma ho visto che ha anche la possibilità di generare PDF:
http://github.com/ArthurHub/HTML-Renderer
Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic