Stream GenerateCertificateBatchPdf(long batchID) { var ironPdfRender = new HtmlToPdf(); ironPdfRender.PrintOptions.MarginLeft = 0; ironPdfRender.PrintOptions.MarginTop = 2; ironPdfRender.PrintOptions.MarginRight = 0; ironPdfRender.PrintOptions.MarginBottom = 0; ironPdfRender.PrintOptions.EnableJavaScript = true; ironPdfRender.PrintOptions.PaperSize = PdfPrintOptions.PdfPaperSize.Custom; ironPdfRender.PrintOptions.InputEncoding = Encoding.UTF8; ironPdfRender.PrintOptions.RenderDelay = 500; var pdfDoc = ironPdfRender.RenderUrlAsPdf( $"{Request.Scheme}://{Request.Host}/Certificate/batch/preview/{batchID}"); var headerFooter = new HtmlHeaderFooter(); headerFooter.Height = 0; headerFooter.Spacing = 0; pdfDoc.AddHTMLFooters(headerFooter, 0, 0, 0); pdfDoc.AddHTMLHeaders(headerFooter, 0, 0, 0); return(pdfDoc.Stream); }
public byte[] GenerateLetterToPdf(string body) { var regex = new Regex("<img.*?src=\"(.*?)\"[^>]+>", RegexOptions.IgnoreCase); var matches = regex.Matches(body); for (int i = 0; i < matches.Count; i++) { var key = matches[i].Groups[1].Value; var uri = key.Replace("../..", _urlConfig.Value.File); body = body.Replace(key, uri, StringComparison.InvariantCultureIgnoreCase); } var ironPdfRender = new HtmlToPdf(); ironPdfRender.PrintOptions.MarginLeft = 0; ironPdfRender.PrintOptions.MarginTop = 2; ironPdfRender.PrintOptions.MarginRight = 0; ironPdfRender.PrintOptions.MarginBottom = 0; ironPdfRender.PrintOptions.EnableJavaScript = true; ironPdfRender.PrintOptions.PaperSize = PdfPrintOptions.PdfPaperSize.Custom; ironPdfRender.PrintOptions.InputEncoding = Encoding.UTF8; ironPdfRender.PrintOptions.RenderDelay = 500; var pdfDoc = ironPdfRender.RenderHtmlAsPdf(body); var headerFooter = new HtmlHeaderFooter(); headerFooter.Height = 0; headerFooter.Spacing = 0; pdfDoc.AddHTMLFooters(headerFooter, 0, 0, 0); pdfDoc.AddHTMLHeaders(headerFooter, 0, 0, 0); return(pdfDoc.BinaryData); }