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;
}
这本身并不能回答您的问题,但我们主要使用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。