Generate a pdf from view Mvc 3

本文关键字:Mvc view from pdf Generate | 更新日期: 2023-09-27 17:57:38

今天我收到一个任务,要从视图生成pdf。。。。因为我是编程初学者。。。有人会帮我完成这项任务的。。传递一些提示。。从哪里开始研究。Pos做这项任务有困难。我试着在这个链接中使用一个例子http://www.codeproject.com/Articles/260470/PDF-reporting-using-ASP-NET-MVC3但它总是在代码的这一部分中抛出错误

public byte[] Render(string htmlText, string pageTitle)
{
    byte[] renderedBuffer;
    using (var outputMemoryStream = new MemoryStream())
    {
        using (var pdfDocument = new Document(PageSize.A4, HorizontalMargin, HorizontalMargin, VerticalMargin, VerticalMargin))
        {
            PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDocument, outputMemoryStream);
            pdfWriter.CloseStream = false;
            pdfWriter.PageEvent = new PrintHeaderFooter { Title = pageTitle };
            pdfDocument.Open();
            using (var htmlViewReader = new StringReader(htmlText))
            {
                using (var htmlWorker = new HTMLWorker(pdfDocument))
                {
                    htmlWorker.Parse(htmlViewReader);// erro here 
                }
            }
        }
        renderedBuffer = new byte[outputMemoryStream.Position];
        outputMemoryStream.Position = 0;
        outputMemoryStream.Read(renderedBuffer, 0, renderedBuffer.Length);
    }
    return renderedBuffer;
}

Generate a pdf from view Mvc 3

这本身并不能回答您的问题,但我们主要使用NReco。PDF

从HTML内容生成PDF的代码示例如下:

var htmlContent = String.Format("<body>Hello world: {0}</body>", 
    DateTime.Now);
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();  
var pdfBytes = htmlToPdf.GeneratePdf(htmlContent);

所以这个例子中唯一缺少的就是将MVC控制器的输出作为HTML。