Removed PdfViewController, HtmlViewRenderer and FakeView to be replaced with ViewEngineResult Render method
This commit is contained in:
@ -1,54 +1 @@
|
||||
#if !NET8
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
// <copyright file="PdfViewController.cs" company="SemanticArchitecture">
|
||||
// http://www.SemanticArchitecture.net pkalkie@gmail.com
|
||||
// </copyright>
|
||||
// <summary>
|
||||
// Extends the controller with functionality for rendering PDF views
|
||||
// </summary>
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
namespace Fab2ApprovalSystem.PdfGenerator {
|
||||
using System.Web.Mvc;
|
||||
using System.IO;
|
||||
|
||||
/// <summary>
|
||||
/// Extends the controller with functionality for rendering PDF views
|
||||
/// </summary>
|
||||
public class PdfViewController : Controller {
|
||||
private readonly HtmlViewRenderer htmlViewRenderer;
|
||||
private readonly StandardPdfRenderer standardPdfRenderer;
|
||||
|
||||
public PdfViewController() {
|
||||
this.htmlViewRenderer = new HtmlViewRenderer();
|
||||
this.standardPdfRenderer = new StandardPdfRenderer();
|
||||
}
|
||||
|
||||
protected ActionResult ViewPdf(string pageTitle, string viewName, object model) {
|
||||
// Render the view html to a string.
|
||||
string htmlText = this.htmlViewRenderer.RenderViewToString(this, viewName, model);
|
||||
|
||||
// Let the html be rendered into a PDF document through iTextSharp.
|
||||
byte[] buffer = standardPdfRenderer.Render(htmlText, pageTitle);
|
||||
|
||||
// Return the PDF as a binary stream to the client.
|
||||
return new BinaryContentResult(buffer, "application/pdf");
|
||||
}
|
||||
|
||||
protected void SavePdf(string fileName, string viewName, object model) {
|
||||
// Render the view html to a string.
|
||||
string htmlText = this.htmlViewRenderer.RenderViewToString(this, viewName, model);
|
||||
|
||||
// Let the html be rendered into a PDF document through iTextSharp.
|
||||
byte[] buffer = standardPdfRenderer.Render(htmlText, "");
|
||||
|
||||
using (FileStream fs = new FileStream(fileName, FileMode.Create)) {
|
||||
fs.Write(buffer, 0, buffer.Length);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user