Browse Source

DocumentationExamples: Placeholder

Marcin Ziąbek 10 months ago
parent
commit
080ebee7c9
1 changed files with 148 additions and 0 deletions
  1. 148 0
      Source/QuestPDF.DocumentationExamples/PlaceholderExamples.cs

+ 148 - 0
Source/QuestPDF.DocumentationExamples/PlaceholderExamples.cs

@@ -0,0 +1,148 @@
+using QuestPDF.Fluent;
+using QuestPDF.Helpers;
+using QuestPDF.Infrastructure;
+
+namespace QuestPDF.DocumentationExamples;
+
+public class PlaceholderExamples
+{
+    [Test]
+    public void TextExample()
+    {
+        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()
+                        .Column(column =>
+                        {
+                            column.Spacing(15);
+
+                            AddItem("Name", Placeholders.Name());
+                            AddItem("Email", Placeholders.Email());
+                            AddItem("Phone", Placeholders.PhoneNumber());
+                            AddItem("Date", Placeholders.ShortDate());
+                            AddItem("Time", Placeholders.Time());
+                            
+                            void AddItem(string label, string value)
+                            {
+                                column.Item().Text(text =>
+                                {
+                                    text.Span($"{label}: ").Bold();
+                                    text.Span(value);
+                                });
+                            }
+                        });
+                });
+            })
+            .GenerateImages(x => "placeholders-text.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.VeryHigh, RasterDpi = 144 });
+    }
+    
+    [Test]
+    public void BackgroundColorExample()
+    {
+        Document
+            .Create(document =>
+            {
+                document.Page(page =>
+                {
+                    page.MinSize(new PageSize(320, 0));
+                    page.MaxSize(new PageSize(320, 1000));
+                    page.DefaultTextStyle(x => x.FontSize(20));
+                    page.Margin(25);
+
+                    page.Content()
+                        .Grid(grid =>
+                        {
+                            grid.Columns(5);
+                            grid.Spacing(5);
+    
+                            foreach (var _ in Enumerable.Range(0, 25))
+                            {
+                                grid.Item()
+                                    .Height(50)
+                                    .Width(50)
+                                    .Background(Placeholders.BackgroundColor());
+                            }
+                        });
+                });
+            })
+            .GenerateImages(x => "placeholders-color-background.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.VeryHigh, RasterDpi = 144 });
+    }
+    
+    [Test]
+    public void ColorExample()
+    {
+        Document
+            .Create(document =>
+            {
+                document.Page(page =>
+                {
+                    page.MinSize(new PageSize(0, 0));
+                    page.MaxSize(new PageSize(500, 1000));
+                    page.DefaultTextStyle(x => x.FontSize(20));
+                    page.Margin(25);
+
+                    page.Content()
+                        .Column(column =>
+                        {
+                            column.Spacing(10);
+                            
+                            foreach (var i in Enumerable.Range(0, 5))
+                            {
+                                column.Item()
+                                    .Text(Placeholders.Sentence())
+                                    .FontColor(Placeholders.Color());
+                            }
+                        });
+                });
+            })
+            .GenerateImages(x => "placeholders-color.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 });
+    }
+    
+    [Test]
+    public void ImageExample()
+    {
+        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()
+                        .Width(200)
+                        .Column(column =>
+                        {
+                            column.Spacing(10);
+
+                            // provide an exact image resolution
+                            column.Item()
+                                .Image(Placeholders.Image(100, 50));
+                            
+                            // specify physical width and height of the image
+                            column.Item()
+                                .Width(200)
+                                .Height(150)
+                                .Image(Placeholders.Image);
+                            
+                            // specify target physical width and aspect ratio
+                            column.Item()
+                                .Width(200)
+                                .AspectRatio(3 / 2f)
+                                .Image(Placeholders.Image);
+                        });
+                });
+            })
+            .GenerateImages(x => "placeholders-image.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 });
+    }
+}