dotnet new console
dotnet add package QuestPDF
dotnet run
using QuestPDF.Fluent; using QuestPDF.Helpers; using QuestPDF.Infrastructure; //Назва та розмір колонок Dictionary<string, int> Columns = new() { { "№", 20 }, { "Номенклатура", 400 }, { "Кількість", 50 }, { "Ціна", 50 }, { "Сума", 50 } }; List<Records> Records = [ new Records(1, "Хліб", 1, 25, 25), new Records(2, "Батон", 2, 30, 60), new Records(3, "Булка", 1, 40, 40) ]; QuestPDF.Settings.License = LicenseType.Community; Document doc = Document.Create(container => { container.Page(page => { page.Size(PageSizes.A4); page.Margin(10, Unit.Point); page.Content().Column(x => { //Назва x.Item().Text("Документ").FontSize(14).Bold(); x.Item().PaddingVertical(5).LineHorizontal(1); x.Item().Table(table => { table.ColumnsDefinition(cols => { foreach (var item in Columns.Values) cols.ConstantColumn(item); }); table.Header(cell => { foreach (var item in Columns.Keys) cell.Cell().Border(1).Padding(1).Text(item).FontSize(8).AlignCenter(); }); foreach (var record in Records) { table.Cell().Border(1).Padding(1).Text(record.НомерРядка.ToString()).FontSize(8).AlignCenter(); table.Cell().Border(1).Padding(1).Text(record.Номенклатура).FontSize(8); table.Cell().Border(1).Padding(1).Text(record.Кількість.ToString()).FontSize(8).AlignCenter(); table.Cell().Border(1).Padding(1).Text(record.Ціна.ToString()).FontSize(8).AlignRight(); table.Cell().Border(1).Padding(1).Text(record.Сума.ToString()).FontSize(8).AlignRight(); } }); }); }); }); doc.GeneratePdfAndShow(); record Records(int НомерРядка, string Номенклатура, int Кількість, float Ціна, float Сума);
© accounting.org.ua - 2024