diff --git a/EnvelopeGenerator.PdfEditor/Pdf.cs b/EnvelopeGenerator.PdfEditor/Pdf.cs index 5c218500..2b355246 100644 --- a/EnvelopeGenerator.PdfEditor/Pdf.cs +++ b/EnvelopeGenerator.PdfEditor/Pdf.cs @@ -69,7 +69,15 @@ namespace EnvelopeGenerator.PdfEditor { var page = doc.GetPage(pageIndex); design(doc.GetPage(pageIndex)); - }); + }); + + public Pdf Page(Action design) + { + for (int i = 1; i <= _doc.GetNumberOfPages(); i++) + Page(i, design); + + return this; + } public Pdf Design(int pageIndex, Action design) => Document(doc => @@ -84,14 +92,11 @@ namespace EnvelopeGenerator.PdfEditor where TSignature : ISignature { // once per page - var pageIndexes = signatures.Select(signature => signature.Page).Distinct().OrderBy(index => index); - foreach(var pageIndex in pageIndexes) + Page(page => { - var page = _doc.GetPage(pageIndex); - Rectangle pageSize = page.GetPageSize(); var canvas = new PdfCanvas(page); - canvas.ConcatMatrix(1, 0, 0, -1, 0, pageSize.GetHeight()); - } + canvas.ConcatMatrix(1, 0, 0, -1, 0, page.GetPageSize().GetHeight()); + }); foreach (var signature in signatures) Page(signature.Page, page =>