SimpleDocument.cs 959 B

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using QuestPDF.Drawing;
  3. using QuestPDF.Elements;
  4. using QuestPDF.Fluent;
  5. using QuestPDF.Helpers;
  6. using QuestPDF.Infrastructure;
  7. namespace QuestPDF.Examples.Engine
  8. {
  9. public class SimpleDocument : IDocument
  10. {
  11. public const int ImageScalingFactor = 2;
  12. private Action<IDocumentContainer> Content { get; }
  13. private int MaxPages { get; }
  14. public SimpleDocument(Action<IDocumentContainer> content, int maxPages)
  15. {
  16. Content = content;
  17. MaxPages = maxPages;
  18. }
  19. public DocumentMetadata GetMetadata()
  20. {
  21. return new DocumentMetadata()
  22. {
  23. RasterDpi = PageSizes.PointsPerInch * ImageScalingFactor,
  24. DocumentLayoutExceptionThreshold = MaxPages
  25. };
  26. }
  27. public void Compose(IDocumentContainer container)
  28. {
  29. Content(container);
  30. }
  31. }
  32. }