EnsureSpaceExamples.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using QuestPDF.Fluent;
  2. using QuestPDF.Helpers;
  3. using QuestPDF.Infrastructure;
  4. namespace QuestPDF.DocumentationExamples;
  5. public class EnsureSpaceExamples
  6. {
  7. [Test]
  8. public void EnabledExample()
  9. {
  10. Document
  11. .Create(document =>
  12. {
  13. document.Page(page =>
  14. {
  15. page.Size(PageSizes.A5);
  16. page.DefaultTextStyle(x => x.FontSize(20));
  17. page.Margin(30);
  18. page.Content()
  19. .Column(column =>
  20. {
  21. column.Item().Height(400).Background(Colors.Grey.Lighten3);
  22. column.Item().Height(30);
  23. column.Item()
  24. .EnsureSpace(100)
  25. .Table(table =>
  26. {
  27. table.ColumnsDefinition(columns =>
  28. {
  29. columns.ConstantColumn(40);
  30. columns.RelativeColumn();
  31. });
  32. foreach (var i in Enumerable.Range(1, 12))
  33. {
  34. table.Cell().Text($"{i}.");
  35. table.Cell().ShowEntire().Text(Placeholders.Sentence());
  36. }
  37. });
  38. });
  39. });
  40. })
  41. .GeneratePdf("ensure-space-enabled.pdf");
  42. }
  43. [Test]
  44. public void DisabledExample()
  45. {
  46. Document
  47. .Create(document =>
  48. {
  49. document.Page(page =>
  50. {
  51. page.Size(PageSizes.A5);
  52. page.DefaultTextStyle(x => x.FontSize(20));
  53. page.Margin(30);
  54. page.Content()
  55. .Column(column =>
  56. {
  57. column.Item().Height(400).Background(Colors.Grey.Lighten3);
  58. column.Item().Height(30);
  59. column.Item()
  60. .Table(table =>
  61. {
  62. table.ColumnsDefinition(columns =>
  63. {
  64. columns.ConstantColumn(40);
  65. columns.RelativeColumn();
  66. });
  67. foreach (var i in Enumerable.Range(1, 12))
  68. {
  69. table.Cell().Text($"{i}.");
  70. table.Cell().Text(Placeholders.Sentence());
  71. }
  72. });
  73. });
  74. });
  75. })
  76. .GeneratePdf("ensure-space-disabled.pdf");
  77. }
  78. }