今天我收到了一个从视图中生成pdf的任务....因为我是编程的初学者...有人会帮我完成这个任务..传递一些提示..从哪里开始研究。你很难完成这项任务。 我试着在这个链接中使用一个例子 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;
}
答案 0 :(得分:0)
这不是你问题的答案,但我们大多使用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。