SimpleDocument.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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, bool applyCaching, bool applyDebugging)
  15. {
  16. Content = content;
  17. MaxPages = maxPages;
  18. QuestPDF.Settings.EnableCaching = applyCaching;
  19. QuestPDF.Settings.EnableDebugging = applyDebugging;
  20. QuestPDF.Settings.DocumentLayoutExceptionThreshold = MaxPages;
  21. }
  22. public DocumentSettings GetSettings()
  23. {
  24. return new DocumentSettings()
  25. {
  26. RasterDpi = PageSizes.PointsPerInch * ImageScalingFactor
  27. };
  28. }
  29. public void Compose(IDocumentContainer container)
  30. {
  31. Content(container);
  32. }
  33. }
  34. }