【C# QuestPDF生成PDF】

C# QuestPDF生成PDF方法

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();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值