public async Task PrintOrdersToPdf(Stream stream, IList <Order> orders, string languageId = "", string vendorId = "") { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } if (orders == null) { throw new ArgumentNullException(nameof(orders)); } _generatePdf.SetConvertOptions(new ConvertOptions() { PageSize = Wkhtmltopdf.NetCore.Options.Size.A4, PageMargins = new Wkhtmltopdf.NetCore.Options.Margins() { Bottom = 10, Left = 10, Right = 10, Top = 10 }, FooterHtml = CommonPath.WebMapPath(_orderFooter) }); var html = await _viewRenderService.RenderToStringAsync <(IList <Order>, string)>(_orderTemaplate, new (orders, vendorId)); var pdfBytes = _generatePdf.GetPDF(html); stream.Write(pdfBytes); }
public async Task <IActionResult> GenerateCertificate(string ticket, string firstName, string lastName) { var connection = new Connection(); var response = connection.IsTicketNumberValid(ticket); if (response.IsValid) { var assembly = Assembly.GetEntryAssembly(); using (var stream = assembly.GetManifestResourceStream("devfestcertapi.PDF.template.html")) using (var reader = new StreamReader(stream)) { string template = await reader.ReadToEndAsync(); var updatedtemplate = template .Replace("{attendee}", string.Format("{0} {1}", response.FirstName, response.LastName)) .Replace("{ticketNumber}", ticket); var options = new ConvertOptions(); options.IsLowQuality = false; options.PageMargins.Bottom = 0; options.PageMargins.Left = 0; options.PageMargins.Right = 0; options.PageMargins.Top = 0; options.PageOrientation = Wkhtmltopdf.NetCore.Options.Orientation.Landscape; _generatePdf.SetConvertOptions(options); var pdf = _generatePdf.GetPDF(updatedtemplate); Response.Headers.Add("Content-Disposition", "inline; filename=GDGPH2020Certificate.pdf"); return(File(pdf.ToArray(), "application/pdf")); } } return(new BadRequestResult()); }
public byte[] GeneratePdf(string url) { var image = _imageService.GetImage(url); var htmlContent = GetImageHtml(image); return(_pdfService.GetPDF(htmlContent)); }
public IActionResult Get(string numeUser, int id) { string title = ""; string image = ""; foreach (var item in _context.Badges) { if (item.Id == id) { title = item.Title; image = item.ImageURL; } } var imagePath = Path.Combine(Directory.GetCurrentDirectory(), "Photo", "cooltext375106303841615.png"); var html = new StringBuilder(); html.Append("<html><body background='https://st3.depositphotos.com/4041239/12552/v/950/depositphotos_125524694-stock-illustration-decorative-border-and-golden-background.jpg' style='background-size:cover; background-repeat:none;'>"); html.AppendLine("<h1 style='text-align: center; font-size: 50px; padding-top: 200px;'><b><i>Certificate of Training</i></b></h1>"); html.AppendFormat("<img style='padding-left: 50%; margin-left: -130px;' src='{0}'/>", imagePath); html.AppendLine("<h1 style='text-align: center; font-size: 25px; padding-top: 50px;'><b><i>This is to certify that</i></b></h1>"); html.AppendLine("<h1 style='text-align: center; font-size: 60px; padding-top: 30px;'><i>" + numeUser + "</i></h1>"); html.AppendLine("<h1 style='text-align: center; font-size: 25px; padding-top: 30px;'><b><i>has successfully completed training in</i></b></h1>"); html.AppendLine("<div style='position: absolute; left: 50%; margin-left: -350px;'><h1 style='font-size: 35px; width: 700px; text-align: center; padding-top: 50px;'><b><i>" + title + " Course</i></b></h1></div>"); html.Append("<div style='padding-top: 250px;padding-left: 50%; margin-left: -66px'> <img width='133' height='134' src='" + image + "'/></div>"); html.Append("</body></html>"); var pdf = _generatePdf.GetPDF(html.ToString()); var pdfStreamResult = new MemoryStream(); pdfStreamResult.Write(pdf, 0, pdf.Length); pdfStreamResult.Position = 0; return(new FileStreamResult(pdfStreamResult, "application/pdf")); }
public async Task <byte[]> GenerateExamplePdf(string userName) { var model = new CertificateModel { Name = userName, Date = DateTime.Now.ToShortDateString(), BackgroundPath = $"{AppContext.BaseDirectory}MustacheTemplates/Certificate/certificate_bg.jpg" }; var certificateContent = await ProcessTemplate (model, @"./MustacheTemplates/Certificate/ExampleCertificateTemplate.html"); var options = new ConvertOptions { PageOrientation = Orientation.Landscape, PageMargins = new Margins(0, 0, 0, 0), }; _generatePdf.SetConvertOptions(options); var bytes = _generatePdf.GetPDF(certificateContent); // If you want to save file on disc // await File.WriteAllBytesAsync("file.pdf", bytes); return(bytes); }
public IActionResult GetByHtml() { var html = @"<!DOCTYPE html> <html> <head> </head> <body> <header> <h1>This is a hardcoded test</h1> </header> <div> <h2>456789</h2> </div> </body>"; var pdf = _generatePdf.GetPDF(html); var pdfStream = new System.IO.MemoryStream(); pdfStream.Write(pdf, 0, pdf.Length); pdfStream.Position = 0; return(new FileStreamResult(pdfStream, "application/pdf")); }
public IActionResult ExportPDFByHtml() { string strHtmlTemplate = @"<!DOCTYPE html> <html> <head> </head> <body> <header> <h1>Zoe</h1> </header> <div> <h2>欢迎关注Code综艺圈</h2> </div> </body>"; // 生成pdf var pdf = _generatePdf.GetPDF(strHtmlTemplate); var pdfFileStream = new MemoryStream(); pdfFileStream.Write(pdf, 0, pdf.Length); pdfFileStream.Position = 0; // 以文件流形式返回,类型设置为application/pdf,在浏览器中可以查看 return(new FileStreamResult(pdfFileStream, "application/pdf")); }
public IActionResult GetFormByteArray() { var options = new ConvertOptions { EnableForms = true }; _generatePdf.SetConvertOptions(options); var pdf = _generatePdf.GetPDF(formHtml); var pdfStream = new System.IO.MemoryStream(); pdfStream.Write(pdf, 0, pdf.Length); pdfStream.Position = 0; return(new FileStreamResult(pdfStream, "application/pdf")); }
public async Task <IActionResult> Post() { string body = string.Empty; using (var reader = new System.IO.StreamReader(Request.Body)) { body = await reader.ReadToEndAsync(); } if (string.IsNullOrWhiteSpace(body)) { return(BadRequest()); } var pdf = _generatePdf.GetPDF(body); var pdfStream = new System.IO.MemoryStream(); pdfStream.Write(pdf, 0, pdf.Length); pdfStream.Position = 0; return(new FileStreamResult(pdfStream, "application/octet-stream")); }
public byte[] Generate(string htmlContent) { return(_generatePdf.GetPDF(htmlContent)); }
public IActionResult Get() { //var rng = new Random(); //return Enumerable.Range(1, 5).Select(index => new WeatherForecast //{ // Date = DateTime.Now.AddDays(index), // TemperatureC = rng.Next(-20, 55), // Summary = Summaries[rng.Next(Summaries.Length)] //}) //.ToArray(); var imagePath = Path.Combine(Directory.GetCurrentDirectory(), "Assets", "jeydonx400.jpg"); var html = new StringBuilder(); html.Append(@"<!doctype html> <html lang='en'> <head> <meta charset='utf-8'> <meta name = 'viewport' content = 'width=device-width, initial-scale=1.0'> <meta http-equiv='Content - type' content='text / html; charset='utf-8' /><meta charset='UTF-8' /> <title> document</title> <style> @font-face { font-family: font-family: 'Hind Siliguri', sans-serif; } table { font-family: arial, sans-serif; border-collapse: collapse; width: 100%; } td, th { border: 1px solid #dddddd; text-align: left; padding: 8px; } /*tr:nth-child(even) { background-color: #dddddd; }*/ </style> <link href='https://fonts.maateen.me/bangla/font.css' rel='stylesheet'> </head> <body onload='getPdfInfo()'>"); html.Append(@"<h2>test pdf generation</h2>"); html.AppendFormat($"<img src='{imagePath}' width=40% />"); // html.Append(@"<h2>আমরা কাটিয়ে উঠব</h2>"); html.Append(@"<h2>HTML Table</h2> <table> <tr> <th>Company</th> <th>Contact</th> <th>Country</th> </tr> <tr> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Germany</td> </tr> <tr> <td>Centro comercial Moctezuma</td> <td>Francisco Chang</td> <td>Mexico</td> </tr> <tr> <td>Ernst Handel</td> <td>Roland Mendel</td> <td>Austria</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> </tr> <tr> <td>Laughing Bacchus Winecellars</td> <td>Yoshi Tannamuri</td> <td>Canada</td> </tr> <tr> <td>Magazzini Alimentari Riuniti</td> <td>Giovanni Rovelli</td> <td>Italy</td> </tr> </table>"); html.Append(@"<script>var pdfInfo = {}; var x = document.location.search.substring(1).split('&'); for (var i in x) { var z = x[i].split('=',2); pdfInfo[z[0]] = unescape(z[1]); } function getPdfInfo() { var page = pdfInfo.page || 1; var pageCount = pdfInfo.topage || 1; document.getElementById('pdfkit_page_current').textContent = page; document.getElementById('pdfkit_page_count').textContent = pageCount; }</script></body></html>"); var pdf = _generatePdf.GetPDF(html.ToString()); var pdfStreamResult = new MemoryStream(); pdfStreamResult.Write(pdf, 0, pdf.Length); pdfStreamResult.Position = 0; return(new FileStreamResult(pdfStreamResult, "application /pdf")); }
/// <inheritdoc/> public new byte[] PrepareDocument(IReportBodyDetails details) { var html = PrepareHtml(details); return(generatePdf.GetPDF(html)); }