CodePatternLocalHelpersExample.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using QuestPDF.Fluent;
  2. using QuestPDF.Helpers;
  3. using QuestPDF.Infrastructure;
  4. namespace QuestPDF.DocumentationExamples.CodePatterns;
  5. public class CodePatternLocalHelpersExample
  6. {
  7. [Test]
  8. public void Example()
  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.Content()
  20. .Column(column =>
  21. {
  22. column.Spacing(15);
  23. column.Item().Text("Business details:").FontSize(24).Bold().FontColor(Colors.Blue.Darken2);
  24. AddContactItem("Resources/Icons/phone.svg", Placeholders.PhoneNumber());
  25. AddContactItem("Resources/Icons/email.svg", Placeholders.Email());
  26. AddContactItem("Resources/Icons/web.svg", Placeholders.WebpageUrl());
  27. void AddContactItem(string iconPath, string label)
  28. {
  29. column.Item().Row(row =>
  30. {
  31. row.ConstantItem(32).AspectRatio(1).Svg(iconPath);
  32. row.ConstantItem(15);
  33. row.AutoItem().AlignMiddle().Text(label);
  34. });
  35. }
  36. });
  37. });
  38. })
  39. .GenerateImages(x => $"code-pattern-local-helpers.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.Best, RasterDpi = 144 });
  40. }
  41. }