ContinousPage.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 DocumentSettings GetSettings() => DocumentSettings.Default;
  15. public void Compose(IDocumentContainer container)
  16. {
  17. container.Page(page =>
  18. {
  19. page.Margin(20);
  20. page.ContinuousSize(150);
  21. page.Header().Text("Header");
  22. page.Content().PaddingVertical(10).Border(1).Padding(10).Column(column =>
  23. {
  24. foreach (var index in Enumerable.Range(1, 100))
  25. column.Item().Text($"Line {index}").FontColor(Placeholders.Color());
  26. });
  27. page.Footer().Text("Footer");
  28. });
  29. }
  30. }
  31. public class ContinuousPageExamples
  32. {
  33. [Test]
  34. public void ContinuousPage()
  35. {
  36. var path = "example.pdf";
  37. new ContinuousPageDocument().GeneratePdf(path);
  38. Process.Start("explorer", path);
  39. }
  40. }
  41. }