ContinousPage.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System.Diagnostics;
  2. using System.Linq;
  3. using NUnit.Framework;
  4. using QuestPDF.Drawing;
  5. using QuestPDF.Examples.Engine;
  6. using QuestPDF.Fluent;
  7. using QuestPDF.Helpers;
  8. using QuestPDF.Infrastructure;
  9. namespace QuestPDF.Examples
  10. {
  11. public class ContinuousPageDocument : IDocument
  12. {
  13. public DocumentMetadata GetMetadata() => DocumentMetadata.Default;
  14. public void Compose(IDocumentContainer container)
  15. {
  16. container.Page(page =>
  17. {
  18. page.Margin(20);
  19. page.ContinuousSize(150);
  20. page.Header().Text("Header");
  21. page.Content().PaddingVertical(10).Border(1).Padding(10).Column(column =>
  22. {
  23. foreach (var index in Enumerable.Range(1, 100))
  24. column.Item().Text($"Line {index}").FontColor(Placeholders.Color());
  25. });
  26. page.Footer().Text("Footer");
  27. });
  28. }
  29. }
  30. public class ContinuousPageExamples
  31. {
  32. [Test]
  33. public void ContinuousPage()
  34. {
  35. var path = "example.pdf";
  36. new ContinuousPageDocument().GeneratePdf(path);
  37. Process.Start("explorer", path);
  38. }
  39. }
  40. }