| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using NUnit.Framework;
- using QuestPDF.Examples.Engine;
- using QuestPDF.Fluent;
- using QuestPDF.Helpers;
- using QuestPDF.Infrastructure;
- namespace QuestPDF.Examples
- {
- public class ComplexLayoutBenchmark
- {
- [Test]
- public void ComplexLayout()
- {
- RenderingTest
- .Create()
- .PageSize(PageSizes.A4)
- .ProducePdf()
- .ShowResults()
- .Render(x => x.Image(new byte[] { 1, 2, 3 }));
- //.Render(x => GenerateStructure(x, 16));
- }
- private void GenerateStructure(IContainer container, int level)
- {
- if (level <= 0)
- {
- container.Background(Placeholders.BackgroundColor()).Height(10);
- return;
- }
- level--;
- if (level % 3 == 0)
- {
- container
- .Border(level / 10f)
- .BorderColor(Colors.Black)
- .Row(row =>
- {
- row.RelativeColumn().Element(x => GenerateStructure(x, level));
- row.RelativeColumn().Element(x => GenerateStructure(x, level));
- });
- }
- else
- {
- container
- .Border(level / 10f)
- .BorderColor(Colors.Black)
- .Stack(stack =>
- {
- stack.Item().Element(x => GenerateStructure(x, level));
- stack.Item().Element(x => GenerateStructure(x, level));
- });
- }
- }
- }
- }
|