Просмотр исходного кода

Documentation Examples: ScaleToFit

Marcin Ziąbek 9 месяцев назад
Родитель
Сommit
4d20a7aaf5

+ 10 - 8
Source/QuestPDF.DocumentationExamples/ImageExamples.cs

@@ -302,19 +302,21 @@ public class ImageExamples
             {
                 document.Page(page =>
                 {
-                    page.Size(PageSizes.A7.Portrait());
+                    page.ContinuousSize(250);
+                    page.DefaultTextStyle(x => x.FontSize(20));
                     page.Margin(25);
-
-                    // page.Content()
-                    //     .Svg("pdf-icon.svg")
-                    //     .FitArea();
-
+                    
                     var svgContent = File.ReadAllText("Resources/pdf-icon.svg");
                     
                     page.Content()
-                        .Svg(svgContent);
+                        .Column(column =>
+                        {
+                            column.Item().Text("The classic PDF icon looks like this:").Bold();
+                            column.Item().Height(15);
+                            column.Item().Svg(svgContent);
+                        });
                 });
             })
-            .GeneratePdf("image-svg.pdf");
+            .GenerateImages(x => "image-svg.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.VeryHigh, RasterDpi = 144 });
     }
 }

+ 44 - 0
Source/QuestPDF.DocumentationExamples/ScaleToFitExamples.cs

@@ -0,0 +1,44 @@
+using QuestPDF.Fluent;
+using QuestPDF.Helpers;
+using QuestPDF.Infrastructure;
+
+namespace QuestPDF.DocumentationExamples;
+
+public class ScaleToFitExamples
+{
+    [Test]
+    public void Example()
+    {
+        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 =>
+                        {
+                            const string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";
+
+                            foreach (var i in Enumerable.Range(4, 5))
+                            {
+                                column
+                                    .Item()
+                                    .Shrink()
+                                    .Border(1)
+                                    .Padding(15)
+                                    .Width(i * 50) // sizes from 200x100 to 450x175
+                                    .Height(i * 25)
+                                    .ScaleToFit()
+                                    .Text(text);
+                            }
+                        });
+                });
+            })
+            .GenerateImages(x => "scale-to-fit.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.High, RasterDpi = 144 });
+    }
+}