06.11.2024 10:40 C#

QuestPDF — це бібліотека .NET із відкритим вихідним кодом для створення PDF-файлів
Для програмування використовую Visual Studio Code.dotnet new consoledotnet add package QuestPDFdotnet runusing 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 - 2025