using QuestPDF.Fluent; using QuestPDF.Helpers; using QuestPDF.Infrastructure; namespace QuestPDF.DocumentationExamples; public class ComplexGraphicsExamples { [Test] public void RoundedRectangleWithGradient() { Document .Create(document => { document.Page(page => { page.MinSize(new PageSize(0, 0)); page.MaxSize(new PageSize(1000, 1000)); page.DefaultTextStyle(x => x.FontSize(20)); page.Margin(25); page.Content() .Layers(layers => { layers.Layer().Svg(size => { return $""" """; }); layers.PrimaryLayer() .PaddingVertical(10) .PaddingHorizontal(20) .Text("QuestPDF") .FontColor(Colors.White) .FontSize(32) .ExtraBlack(); }); }); }) .GenerateImages(x => "complex-graphics-rounded-rectangle-with-gradient.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 }); } [Test] public void DottedLine() { Document .Create(document => { document.Page(page => { page.MinSize(new PageSize(500, 0)); page.MaxSize(new PageSize(500, 1000)); page.DefaultTextStyle(x => x.FontSize(20)); page.Margin(25); page.Content() .Column(column => { column.Spacing(5); foreach (var i in Enumerable.Range(1, 5)) { var pageNumber = i * 7 + 4; column.Item().Row(row => { row.AutoItem().Text($"{i}."); row.ConstantItem(10); row.AutoItem().Text(Placeholders.Label()); row.RelativeItem().PaddingHorizontal(3).TranslateY(20).Height(2).Svg(size => { return $""" """; }); row.AutoItem().Text($"{pageNumber}"); }); } }); }); }) .GenerateImages(x => "complex-graphics-dotted-line.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 }); } }