RenderingTest.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Diagnostics;
  3. using QuestPDF.Drawing;
  4. using QuestPDF.Elements;
  5. using QuestPDF.Fluent;
  6. using QuestPDF.Helpers;
  7. using QuestPDF.Infrastructure;
  8. namespace QuestPDF.Examples.Engine
  9. {
  10. public class RenderingTest
  11. {
  12. private string FileNamePrefix = "test";
  13. private Size Size { get; set; }
  14. private RenderingTest()
  15. {
  16. }
  17. public static RenderingTest Create()
  18. {
  19. return new RenderingTest();
  20. }
  21. public RenderingTest FileName(string fileName)
  22. {
  23. FileNamePrefix = fileName;
  24. return this;
  25. }
  26. public RenderingTest PageSize(int width, int height)
  27. {
  28. Size = new Size(width, height);
  29. return this;
  30. }
  31. public void Render(Action<IContainer> content)
  32. {
  33. var container = new Container();
  34. content(container);
  35. Func<int, string> fileNameSchema = i => $"{FileNamePrefix}-${i}.png";
  36. var document = new SimpleDocument(container, Size);
  37. document.GenerateImages(fileNameSchema);
  38. Process.Start("explorer", fileNameSchema(0));
  39. }
  40. }
  41. }