void ComposeContent(IContainer container)
void ComposeHeader(IContainer container) customizing asp.net core 5.0 pdf free download
void ComposeFooter(IContainer container) => container.AlignCenter().Text(x => x.Span("Page "); x.CurrentPageNumber(); ); [HttpGet("generate-invoice")] public IActionResult GenerateInvoice() foreach (var item in Model
Introduction In modern web applications, generating PDF documents dynamically—such as invoices, reports, certificates, or receipts—is a common requirement. ASP.NET Core 5.0 provides a robust framework for building such features, but unlike its .NET Framework predecessor, it does not include built-in PDF generation libraries. However, developers can leverage powerful, open-source, and free libraries to create highly customized PDFs. var document = new InvoiceDocument(model)
foreach (var item in Model.Items) table.Cell().Text(item.Id.ToString()); table.Cell().Text(item.Name); table.Cell().Text(item.Quantity.ToString()); table.Cell().Text($"$item.Total"); );
page.Header().Element(ComposeHeader); page.Content().Element(ComposeContent); page.Footer().Element(ComposeFooter); );
var model = new InvoiceModel /* populate data */ ; var document = new InvoiceDocument(model); var pdfBytes = document.GeneratePdf(); return File(pdfBytes, "application/pdf", "Invoice.pdf"); If you prefer using HTML/CSS for layout (like building a webpage), DinkToPdf is ideal. Install DinkToPdf dotnet add package DinkToPdf dotnet add package DinkToPdf.AspNetCore Custom HTML Template var converter = new BasicConverter(new PdfTools()); var doc = new HtmlToPdfDocument()