RoundedCornersExamples.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. using QuestPDF.Fluent;
  2. using QuestPDF.Helpers;
  3. using QuestPDF.Infrastructure;
  4. namespace QuestPDF.DocumentationExamples;
  5. public class RoundedCornersExamples
  6. {
  7. [Test]
  8. public void Consistent()
  9. {
  10. Document
  11. .Create(document =>
  12. {
  13. document.Page(page =>
  14. {
  15. page.MinSize(new PageSize(0, 0));
  16. page.MaxSize(new PageSize(1000, 1000));
  17. page.DefaultTextStyle(x => x.FontSize(20));
  18. page.Margin(25);
  19. page.PageColor(Colors.White);
  20. page.Content()
  21. .Border(1, Colors.Black)
  22. .Background(Colors.Grey.Lighten3)
  23. .CornerRadius(25)
  24. .Padding(25)
  25. .Text("Container with consistently rounded corners");
  26. });
  27. })
  28. .GenerateImages(x => "rounded-corners-consistent.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 });
  29. }
  30. [Test]
  31. public void Various()
  32. {
  33. Document
  34. .Create(document =>
  35. {
  36. document.Page(page =>
  37. {
  38. page.MinSize(new PageSize(0, 0));
  39. page.MaxSize(new PageSize(1000, 1000));
  40. page.DefaultTextStyle(x => x.FontSize(20));
  41. page.Margin(25);
  42. page.PageColor(Colors.White);
  43. page.Content()
  44. .Border(1, Colors.Black)
  45. .Background(Colors.Grey.Lighten3)
  46. .CornerRadiusTopLeft(5)
  47. .CornerRadiusTopRight(10)
  48. .CornerRadiusBottomRight(20)
  49. .CornerRadiusBottomLeft(40)
  50. .Padding(25)
  51. .Text("Container with rounded corners");
  52. });
  53. })
  54. .GenerateImages(x => "rounded-corners-various.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 });
  55. }
  56. [Test]
  57. public void Complex()
  58. {
  59. Document
  60. .Create(document =>
  61. {
  62. document.Page(page =>
  63. {
  64. page.MinSize(new PageSize(0, 0));
  65. page.MaxSize(new PageSize(550, 1000));
  66. page.DefaultTextStyle(x => x.FontSize(20));
  67. page.Margin(25);
  68. page.PageColor(Colors.White);
  69. page.Content()
  70. .Border(1, Colors.Black)
  71. .CornerRadius(15)
  72. .Table(table =>
  73. {
  74. table.ColumnsDefinition(columns =>
  75. {
  76. columns.ConstantColumn(100);
  77. columns.RelativeColumn();
  78. columns.ConstantColumn(150);
  79. });
  80. table.Header(header =>
  81. {
  82. header.Cell().Element(Style).Text("Index");
  83. header.Cell().Element(Style).Text("Label");
  84. header.Cell().Element(Style).Text("Price");
  85. IContainer Style(IContainer container)
  86. {
  87. return container
  88. .Border(1, Colors.Grey.Darken2)
  89. .Background(Colors.Grey.Lighten3)
  90. .PaddingVertical(10)
  91. .PaddingHorizontal(15)
  92. .DefaultTextStyle(x => x.Bold());
  93. }
  94. });
  95. foreach (var index in Enumerable.Range(1, 5))
  96. {
  97. table.Cell().Element(Style).Text(index.ToString());
  98. table.Cell().Element(Style).Text(Placeholders.Label());
  99. table.Cell().Element(Style).Text(Placeholders.Price());
  100. IContainer Style(IContainer container)
  101. {
  102. return container
  103. .Border(1, Colors.Grey.Darken2)
  104. .PaddingVertical(10)
  105. .PaddingHorizontal(15);
  106. }
  107. }
  108. });
  109. });
  110. })
  111. .GenerateImages(x => "rounded-corners-complex.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 });
  112. }
  113. [Test]
  114. public void Image()
  115. {
  116. Document
  117. .Create(document =>
  118. {
  119. document.Page(page =>
  120. {
  121. page.MinSize(new PageSize(0, 0));
  122. page.MaxSize(new PageSize(450, 1000));
  123. page.DefaultTextStyle(x => x.FontSize(20));
  124. page.Margin(25);
  125. page.PageColor(Colors.White);
  126. page.Content()
  127. .CornerRadius(25)
  128. .Image("Resources/landscape.jpg");
  129. });
  130. })
  131. .GenerateImages(x => "rounded-corners-image.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 });
  132. }
  133. }