C# QuestPDF生成PDF背景图
var bytes = QuestPDF.Fluent.Document.Create(container =>
{
container.Page(page =>
{
page.Size(842, 595); // A4横向(842磅宽 x 595磅高)
//page.Size(PageSizes.A4);
page.Margin(0.3f, QuestPDF.Infrastructure.Unit.Inch);
page.DefaultTextStyle(TextStyle.Default.FontFamily(fontFamily));
//背景图
page.Background().Image("D:\\111.jpg").FitArea();
page.Content().Column(column =>
{
foreach (var item in bookingBatchGuests)
{
var num = ++i;
int? hole = null;
var bbt = bbts.Where(t => t.SeqMin == item.Value.FirstOrDefault()?.Seq)?.FirstOrDefault();
if (bbt != null)
{
hole = courseHoles.Where(x => x.Id == bbt.CourseHoleId).Select(t => t.Num)?.FirstOrDefault();
}
var bkdids = item.Value.Select(t => t.BkdId).ToList();
var bkdList = bkds.Where(t => t.Deleted != true && bkdids.Contains(t.Id)).ToList();
column.Item().PaddingBottom(10).BorderBottom(1).Text($"{bbc.Name}").FontSize(35).Bold().FontColor(Colors.Black).AlignCenter();
column.Item().PaddingBottom(10).AlignCenter().Text($"{course.CourseName}").FontSize(20).Bold().FontColor(Colors.Black);
column.Item().Table(table =>
{
table.ColumnsDefinition(columns =>
{
columns.RelativeColumn();
columns.RelativeColumn();
});
table.Cell().Column(t =>
{
t.Item().AlignCenter().PaddingTop(30).Text($"{hole}洞 第{bbt?.GroupNum.ToString() ?? new string('\u00A0', 8)}组 {bbt?.Teetime}").FontSize(45).Bold();
t.Item().AlignCenter().PaddingTop(50).Width(200).Height(200).Image(QuestPDF.Infrastructure.Image.FromBinaryData(imageData.QrCode.ToArray()));
t.Item().AlignCenter().PaddingTop(50).Text("扫码查看成绩").FontSize(30).Bold();
});
table.Cell().Column(t =>
{
// 拆分子单元格
foreach (var item in bkdList)
{
int lengthToTake = Math.Min(item.GuestName.Length, 4);
t.Item().PaddingTop(10).PaddingLeft(-20).Text(item.GuestName.Substring(0, lengthToTake)).AlignCenter().FontSize(80).Bold();
}
});
});
//column.Item().PaddingBottom(10);
}
});
page.Footer().Text(t =>
{
t.Span("Page");
t.CurrentPageNumber();
});
});
}).GeneratePdf();
}
C# QuestPDF生成PDF方法

被折叠的 条评论
为什么被折叠?



