Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Save PDF file as a byte array or stream using Rotativa

I'm trying to convert html to a PDF using Rotativa but I want to save at as a byte array or a stream so I can easily attach it to a mail or something. I found a solution here but the file can't be opened by any PDF reader because it's not a supported format or the file is corrupted.

Here is another solution from the same thread but I can't figure out what is the required parameters to pass to this function and I couldn't find any documentation for Rotativa online.

like image 472
Ibrahim Amer Avatar asked Dec 01 '22 14:12

Ibrahim Amer


1 Answers

I found the solution here

            var actionPDF = new Rotativa.ActionAsPdf("YOUR_ACTION_Method", new { id = ID, lang = strLang } //some route values)
            {
                //FileName = "TestView.pdf",
                PageSize = Size.A4,
                PageOrientation = Rotativa.Options.Orientation.Landscape,
                PageMargins = { Left = 1, Right = 1 }
            };
            byte[] applicationPDFData = actionPDF.BuildPdf(ControllerContext);
like image 174
Ibrahim Amer Avatar answered Dec 06 '22 03:12

Ibrahim Amer