| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- using System;
- using System.Linq;
- using System.Reflection.Metadata.Ecma335;
- using NUnit.Framework;
- using QuestPDF.Examples.Engine;
- using QuestPDF.Fluent;
- using QuestPDF.Helpers;
- using QuestPDF.Infrastructure;
- namespace QuestPDF.Examples
- {
- public class InlinedExamples
- {
- [Test]
- public void Inlined()
- {
- RenderingTest
- .Create()
- .PageSize(800, 650)
- .ProduceImages()
- .ShowResults()
- .Render(container =>
- {
- container
- .Padding(25)
- .Decoration(decoration =>
- {
- decoration.Header().Text(text =>
- {
- text.DefaultTextStyle(TextStyle.Default.Size(20));
-
- text.CurrentPageNumber();
- text.Span(" / ");
- text.TotalPages();
- });
-
- decoration
- .Content()
- .PaddingTop(25)
- //.Box()
- .Border(1)
- .Background(Colors.Grey.Lighten2)
- .Inlined(inlined =>
- {
- inlined.Spacing(25);
- inlined.AlignSpaceAround();
- inlined.BaselineMiddle();
- var random = new Random(123);
- foreach (var _ in Enumerable.Range(0, 50))
- {
- var width = random.Next(2, 7);
- var height = random.Next(2, 7);
- var sizeText = $"{width}×{height}";
-
- inlined
- .Item()
- .Border(1)
- .Width(width * 25)
- .Height(height * 25)
- .Background(Placeholders.BackgroundColor())
- .Layers(layers =>
- {
- layers.Layer().Grid(grid =>
- {
- grid.Columns(width);
- Enumerable.Range(0, width * height).ToList().ForEach(x => grid.Item().Border(1).BorderColor(Colors.White).Width(25).Height(25));
- });
-
- layers
- .PrimaryLayer()
- .AlignCenter()
- .AlignMiddle()
- .Text(sizeText, TextStyle.Default.Size(15));
- });
- }
- });
- });
- });
- }
-
- [Test]
- public void Inline_AlignLeft_BaselineBottom()
- {
- RenderingTest
- .Create()
- .PageSize(800, 600)
- .ProduceImages()
- .ShowResults()
- .Render(container =>
- {
- container
- .Padding(20)
- .Box()
- .Border(1)
- .Background(Colors.Grey.Lighten4)
- .Inlined(inlined =>
- {
- inlined.VerticalSpacing(50);
- inlined.HorizontalSpacing(25);
- inlined.AlignRight();
- inlined.BaselineMiddle();
- foreach (var _ in Enumerable.Range(0, 100))
- inlined.Item().Element(RandomBlock);
- });
- });
- void RandomBlock(IContainer container)
- {
- container
- .Width(Placeholders.Random.Next(1, 5) * 20)
- .Height(Placeholders.Random.Next(1, 5) * 20)
- .Border(1)
- .BorderColor(Colors.Grey.Darken2)
- .Background(Placeholders.BackgroundColor());
- }
- }
- }
- }
|