MinimalApiExamples.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System.Diagnostics;
  2. using NUnit.Framework;
  3. using QuestPDF.Examples.Engine;
  4. using QuestPDF.Fluent;
  5. using QuestPDF.Helpers;
  6. using QuestPDF.Infrastructure;
  7. namespace QuestPDF.Examples
  8. {
  9. public class MinimalApiExamples
  10. {
  11. [Test]
  12. public void MinimalApi()
  13. {
  14. Document
  15. .Create(container =>
  16. {
  17. container.Page(page =>
  18. {
  19. page.Size(PageSizes.A4);
  20. page.Margin(2, Unit.Centimetre);
  21. page.Background(Colors.White);
  22. page.DefaultTextStyle(TextStyle.Default.Size(20));
  23. page.Header()
  24. .Text("Hello PDF!").SemiBold().Size(36).Color(Colors.Blue.Medium);
  25. page.Content()
  26. .PaddingVertical(1, Unit.Centimetre)
  27. .Column(x =>
  28. {
  29. x.Spacing(20);
  30. x.Item().Text(Placeholders.LoremIpsum());
  31. x.Item().Image(Placeholders.Image(200, 100));
  32. });
  33. page.Footer()
  34. .AlignCenter()
  35. .Text(x =>
  36. {
  37. x.Span("Page ");
  38. x.CurrentPageNumber();
  39. });
  40. });
  41. })
  42. .GeneratePdf("hello.pdf");
  43. Process.Start("explorer.exe", "hello.pdf");
  44. }
  45. [Test]
  46. public void MinimalApi2()
  47. {
  48. RenderingTest
  49. .Create()
  50. .ProduceImages()
  51. .ShowResults()
  52. .RenderDocument(container =>
  53. {
  54. container.Page(page =>
  55. {
  56. page.Size(PageSizes.A4);
  57. page.Margin(2, Unit.Centimetre);
  58. page.Background(Colors.White);
  59. page.DefaultTextStyle(TextStyle.Default.Size(20));
  60. page.Header()
  61. .Text("Hello PDF!")
  62. .SemiBold()
  63. .Size(36)
  64. .Color(Colors.Blue.Medium);
  65. page.Content()
  66. .PaddingVertical(1, Unit.Centimetre)
  67. .Column(x =>
  68. {
  69. x.Spacing(20);
  70. x.Item().Text(Placeholders.LoremIpsum());
  71. x.Item().Image(Placeholders.Image(200, 100));
  72. });
  73. page.Footer()
  74. .AlignCenter()
  75. .Text(x =>
  76. {
  77. x.Span("Page ");
  78. x.CurrentPageNumber();
  79. });
  80. });
  81. });
  82. }
  83. }
  84. }