CodePatternContentStylingExample.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using QuestPDF.Fluent;
  2. using QuestPDF.Helpers;
  3. using QuestPDF.Infrastructure;
  4. namespace QuestPDF.DocumentationExamples.CodePatterns;
  5. public class CodePatternContentStylingExample
  6. {
  7. [Test]
  8. public void Example()
  9. {
  10. Document
  11. .Create(document =>
  12. {
  13. document.Page(page =>
  14. {
  15. page.MinSize(new PageSize(650, 0));
  16. page.MaxSize(new PageSize(650, 1000));
  17. page.DefaultTextStyle(x => x.FontSize(20));
  18. page.Margin(25);
  19. page.Content()
  20. .Table(table =>
  21. {
  22. table.ColumnsDefinition(columns =>
  23. {
  24. columns.ConstantColumn(50);
  25. columns.RelativeColumn(1);
  26. columns.RelativeColumn(2);
  27. });
  28. table.Header(header =>
  29. {
  30. header.Cell().Element(Style).Text("#");
  31. header.Cell().Element(Style).Text("Product Name");
  32. header.Cell().Element(Style).Text("Description");
  33. IContainer Style(IContainer container)
  34. {
  35. return container
  36. .Background(Colors.Blue.Lighten5)
  37. .Padding(10)
  38. .DefaultTextStyle(TextStyle.Default.FontColor(Colors.Blue.Darken4).Bold());
  39. }
  40. });
  41. foreach (var i in Enumerable.Range(1, 5))
  42. {
  43. table.Cell().Element(Style).Text(i.ToString());
  44. table.Cell().Element(Style).Text(Placeholders.Label());
  45. table.Cell().Element(Style).Text(Placeholders.Sentence());
  46. }
  47. IContainer Style(IContainer container)
  48. {
  49. return container
  50. .BorderTop(2)
  51. .BorderColor(Colors.Blue.Lighten3)
  52. .Padding(10);
  53. }
  54. });
  55. });
  56. })
  57. .GenerateImages(x => $"code-pattern-content-styling.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 });
  58. }
  59. }