#if !NET8 using System.Web; using System.Web.Mvc; using System.Web.Security; #endif #if !NET8 using System; using System.IO; using System.Collections.Generic; using System.Net; using System.Net.Http; using System.Security.Claims; using System.Threading.Tasks; #endif namespace Fab2ApprovalSystem.PdfGenerator; #if !NET8 public class PdfViewController : Controller { private readonly HtmlViewRenderer htmlViewRenderer; private readonly StandardPdfRenderer standardPdfRenderer; public PdfViewController() { htmlViewRenderer = new HtmlViewRenderer(); standardPdfRenderer = new StandardPdfRenderer(); } protected ActionResult ViewPdf(string pageTitle, string viewName, object model) { // Render the view html to a string. string htmlText = 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 = 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(fileName, FileMode.Create)) { fs.Write(buffer, 0, buffer.Length); } } } #endif