Почему вы хотите использовать Json?Я думаю, что есть самый простой способ.Пример:
<%= Html.ActionLink("View pdf","GeneratePdf","YourController" new{}, new{target="_blank"}) %>
В вашем контроллере
public ActionResult GeneratePdf()
{
Document pdfDocument = new Document();
MemoryStream stream = new MemoryStream();
PdfWriter.GetInstance(pdfDocument,stream);
//add some code to generate your pdf content
pdfDocument.Close();
return new FileResult(stream,"application/pdf");
}