LoremPicsumExample.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System.Net;
  2. using NUnit.Framework;
  3. using QuestPDF.Examples.Engine;
  4. using QuestPDF.Fluent;
  5. using QuestPDF.Infrastructure;
  6. namespace QuestPDF.Examples
  7. {
  8. public class LoremPicsum : IComponent
  9. {
  10. public bool Greyscale { get; }
  11. public LoremPicsum(bool greyscale)
  12. {
  13. Greyscale = greyscale;
  14. }
  15. public void Compose(IContainer container)
  16. {
  17. var url = "https://picsum.photos/300/200";
  18. if(Greyscale)
  19. url += "?grayscale";
  20. using var client = new WebClient();
  21. var response = client.DownloadData(url);
  22. container.Image(response);
  23. }
  24. }
  25. public class LoremPicsumExample
  26. {
  27. [Test]
  28. public void LoremPicsum()
  29. {
  30. RenderingTest
  31. .Create()
  32. .PageSize(350, 280)
  33. .FileName()
  34. .Render(container =>
  35. {
  36. container
  37. .Background("#FFF")
  38. .Padding(25)
  39. .Stack(column =>
  40. {
  41. column.Spacing(10);
  42. column
  43. .Item()
  44. .Component(new LoremPicsum(true));
  45. column
  46. .Item()
  47. .AlignRight()
  48. .Text("From Lorem Picsum");
  49. });
  50. });
  51. }
  52. }
  53. }