using QuestPDF.Fluent; using QuestPDF.Helpers; using QuestPDF.Infrastructure; public class InvoiceDocument : IDocument
using PuppeteerSharp; public async Task<byte[]> HtmlToPdfAsync(string htmlContent) customizing asp.net core 6.0 pdf free download
page.Margin(30); page.Header().Text("Custom Invoice").Bold().FontSize(20); page.Content().PaddingVertical(10).Table(table => using QuestPDF
var document = new InvoiceDocument(); var pdfBytes = document.GeneratePdf(); return File(pdfBytes, "application/pdf", "custom_invoice.pdf"); public async Task<
If you prefer designing with HTML/CSS (e.g., Bootstrap), PuppeteerSharp automates headless Chrome:
container.Page(page =>
columns.ConstantColumn(100); columns.RelativeColumn(); ); table.Cell().Text("Product"); table.Cell().Text("Custom Laptop"); ); page.Footer().AlignCenter().Text($"Generated on DateTime.Now:yyyy-MM-dd"); );