MergedDocumentExamples.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using NUnit.Framework;
  2. using QuestPDF.Examples.Engine;
  3. using QuestPDF.Fluent;
  4. namespace QuestPDF.Examples
  5. {
  6. [TestFixture]
  7. public class MergedDocumentExamples
  8. {
  9. [Test]
  10. public void Merge_ContinuousPageNumbers()
  11. {
  12. var mergedDocument = Document.Merge(
  13. CreateDocument("Document 1"),
  14. CreateDocument("Document 2"),
  15. CreateDocument("Document 3"))
  16. .ContinuousPageNumbers();
  17. RenderingTest
  18. .Create()
  19. .ProducePdf()
  20. .ShowResults()
  21. .Render(mergedDocument);
  22. }
  23. [Test]
  24. public void Merge_SeparatePageNumbers()
  25. {
  26. var mergedDocument = Document.Merge(
  27. CreateDocument("Document 1"),
  28. CreateDocument("Document 2"),
  29. CreateDocument("Document 3"))
  30. .SeparatePageNumbers();
  31. RenderingTest
  32. .Create()
  33. .ProducePdf()
  34. .ShowResults()
  35. .Render(mergedDocument);
  36. }
  37. private static Document CreateDocument(string content)
  38. {
  39. return Document.Create(d =>
  40. {
  41. d.Page(p =>
  42. {
  43. p.Content().AlignMiddle().AlignCenter().Column(c =>
  44. {
  45. c.Item().Text(content).FontSize(40);
  46. c.Item().PageBreak();
  47. c.Item().Text(content).FontSize(40);
  48. });
  49. p.Footer().AlignCenter().PaddingVertical(20).Text(t =>
  50. {
  51. t.CurrentPageNumber();
  52. t.Span(" / ");
  53. t.TotalPages();
  54. });
  55. });
  56. });
  57. }
  58. }
  59. }