public static DocumentBuilder AddAfterschoolAgreement(this DocumentBuilder builder) { var imageDir = Path.Combine(Directory.GetCurrentDirectory(), "Content", "Images", "AfterschoolAgreement"); var checkboxUrl = Path.Combine(imageDir, "Checkbox.png"); var logoUrl = Path.Combine(imageDir, "SchoolLogo.jpg"); SectionBuilder section = builder.AddSection() .SetSize(PaperSize.Letter) .SetOrientation(PageOrientation.Portrait); // HEADER BLOCK section.AddTable() .SetContentRowStyleBorder(borderBuilder => borderBuilder.SetStroke(Stroke.None)) .AddColumnToTable("", 52) .AddColumnToTable("", XUnit.FromPercent(40)) .AddColumnToTable("", XUnit.FromPercent(60)) .AddRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Left) .SetVerticalAlignment(VerticalAlignment.Center) .AddImageToCell(logoUrl, 65, 45, ScalingMode.UserDefined) .ToRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Center) .SetVerticalAlignment(VerticalAlignment.Center) .SetFontSize(12) .AddParagraph("AFTERSCHOOL") .SetBold() .ToCell() .AddParagraphToCell("BANK DRAFT FORM") .ToRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Center) .SetVerticalAlignment(VerticalAlignment.Center) .AddParagraphToCell("REGISTRATION PACKET PG. 4 of 4") .SetBackColor(Color.Black) .SetFont(Fonts.Courier(12).SetColor(Color.White).SetBold()) .ToTable(); // TITLE BLOCK section.AddParagraph("BEST SCHOOL of Twin Peaks ") .SetMarginTop(5) .SetBold() .SetFontColor(Color.Gray) .SetFontSize(12) .AddText("Afterschool ") .SetFontColor(Color.Black) .ToParagraph() .AddTextToParagraph("Agreement ACH/CC Automatic Payment Option"); // STEP 1 BLOCK section.AddParagraph("STEP #1") .SetBackColor(Color.FromRgba(0.3f, 0.3f, 0.3f)) .SetFont(Fonts.Courier(16).SetColor(Color.White).SetBold()); section.AddParagraph() .SetMarginLeft(0) .SetBorderWidth(0) .SetFontSize(4) .AddTabSymbol() .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine); section.AddParagraph() .SetFontSize(6) .AddTextToParagraph("CHILD'S FIRST NAME") .AddTabSymbol() .AddTextToParagraph("MIDDLE INITIAL") .AddTabSymbol() .AddTextToParagraph("LAST NAME") .AddTabulationInPercent(35, TabulationType.Left) .AddTabulationInPercent(65, TabulationType.Left); section.AddParagraph() .SetMarginLeft(0) .SetMarginTop(15) .SetBorderWidth(0) .SetFontSize(6) .AddTabSymbol() .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine); section.AddParagraph() .SetFontSize(6) .AddTextToParagraph("PHONE NUMBER (DAY)") .AddTabSymbol() .AddTextToParagraph("PHONE NUMBER (EVENING)") .AddTabulationInPercent(65, TabulationType.Left); section.AddParagraph() .SetMarginLeft(0) .SetMarginTop(15) .SetBorderWidth(0) .SetFontSize(6) .AddTabSymbol() .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine); section.AddParagraph() .SetFontSize(6) .AddTextToParagraph("CHILD'S SCHOOL") .AddTabSymbol() .AddTextToParagraph("CHILD'S ADDRESS") .AddTabSymbol() .AddTextToParagraph("CITY") .AddTabSymbol() .AddTextToParagraph("STATE") .AddTabSymbol() .AddTextToParagraph("ZIP") .AddTabulationInPercent(35, TabulationType.Left) .AddTabulationInPercent(65, TabulationType.Left) .AddTabulationInPercent(77, TabulationType.Left) .AddTabulationInPercent(90, TabulationType.Left); section.AddParagraph() .SetFontSize(6) .SetMarginLeft(0) .SetMarginTop(15) .SetMarginBottom(3) .SetBorderWidth(0) .AddTabSymbol() .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine); // STEP 2 AND 3 BLOCKS TableBuilder step2And3Table = section.AddTable() .SetContentRowStyleBorder(borderBuilder => borderBuilder.SetStroke(Stroke.None)) .AddColumnToTable("", XUnit.FromPercent(49)) .AddColumnToTable("", XUnit.FromPercent(2)) .AddColumnToTable("", XUnit.FromPercent(49)); step2And3Table .AddRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Left) .SetVerticalAlignment(VerticalAlignment.Center) .AddParagraphToCell("STEP #2") .SetPadding(2, 0, 0, 0) .SetBackColor(Color.FromRgba(0.3f, 0.3f, 0.3f)) .SetFont(Fonts.Courier(16).SetColor(Color.White).SetBold()) .ToRow() .AddCellToRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Left) .SetVerticalAlignment(VerticalAlignment.Center) .AddParagraphToCell("STEP #3") .SetPadding(2, 0, 0, 0) .SetBackColor(Color.FromRgba(0.3f, 0.3f, 0.3f)) .SetFont(Fonts.Courier(16).SetColor(Color.White).SetBold()); step2And3Table .AddRow() .AddCell() .SetBorder(Stroke.Solid, Color.Black, StyleSheet.DefaultBorderWidth) .SetHorizontalAlignment(HorizontalAlignment.Center) .SetVerticalAlignment(VerticalAlignment.Center) .AddParagraphToCell("Begin Draft Date:") .AddParagraphToCell("_______ / _______ / _______") .ToRow() .AddCellToRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Center) .SetVerticalAlignment(VerticalAlignment.Center) .AddTable() .SetHeaderRowStyleBackColor(Color.Gray) .AddColumnToTable("", XUnit.FromPercent(70)) .AddColumnToTable("", XUnit.FromPercent(30)) .AddRow() .AddCell("DRAFT DATES") .SetBackColor(Color.Gray) .SetFontColor(Color.White) .ToRow() .AddCell("AMOUNT") .SetBackColor(Color.Gray) .SetFontColor(Color.White) .ToTable() .AddRow() .SetVerticalAlignment(VerticalAlignment.Bottom) .AddCell("Monthly on the 1st") .SetFontSize(10) .ToRow() .AddCell("$") .SetBold() .ToTable() .AddRow() .SetVerticalAlignment(VerticalAlignment.Bottom) .AddCell("Semi-Monthly on the 1st & 15th") .SetFontSize(10) .ToRow() .AddCell("$") .SetBold() .ToTable() .SetMarginBottom(5); // STEP 4 BLOCK section.AddParagraph("STEP #4") .SetBackColor(Color.FromRgba(0.3f, 0.3f, 0.3f)) .SetFont(Fonts.Courier(16).SetColor(Color.White).SetBold()); section.AddTable() .SetMarginTop(2) .SetContentRowStyleBorder(borderBuilder => borderBuilder.SetStroke(Stroke.None)) .AddColumnToTable("", XUnit.FromPercent(49)) .AddColumnToTable("", XUnit.FromPercent(2)) .AddColumnToTable("", XUnit.FromPercent(49)) .AddRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Left) .SetVerticalAlignment(VerticalAlignment.Center) .SetPadding(2, 0, 0, 0) .AddParagraph("") .AddInlineImageToParagraph(checkboxUrl, 11, 11, ScalingMode.UserDefined) .AddTextToParagraph(" OPTION 1: CREDIT/DEBIT CARD") .ToCell() .SetBackColor(Color.Gray) .SetFont(Fonts.Courier(14).SetColor(Color.White).SetBold()) .ToRow() .AddCellToRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Left) .SetVerticalAlignment(VerticalAlignment.Center) .SetPadding(2, 0, 0, 0) .AddParagraph("") .AddInlineImageToParagraph(checkboxUrl, 11, 11, ScalingMode.UserDefined) .AddTextToParagraph(" OPTION 2: BANK DRAFT") .ToCell() .SetBackColor(Color.Gray) .SetFont(Fonts.Courier(14).SetColor(Color.White).SetBold()) .ToTable() .AddRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Center) .SetVerticalAlignment(VerticalAlignment.Center) .SetFont(Fonts.Courier(6)) .AddTable() .SetContentRowStyleFont(Fonts.Courier(6)) .SetDefaultAltRowStyle() .AddColumnToTable("", XUnit.FromPercent(65)) .AddColumnToTable("", XUnit.FromPercent(35)) .AddRow() .AddCell() .SetColSpan(2) .SetFontSize(8) .SetVerticalAlignment(VerticalAlignment.Center) .AddParagraph("Check one: ") .AddInlineImageToParagraph(checkboxUrl, 8, 8, ScalingMode.UserDefined) .AddTextToParagraph(" Visa ") .AddInlineImageToParagraph(checkboxUrl, 8, 8, ScalingMode.UserDefined) .AddTextToParagraph(" Mastercard ") .AddInlineImageToParagraph(checkboxUrl, 8, 8, ScalingMode.UserDefined) .AddTextToParagraph(" Discover ") .AddInlineImageToParagraph(checkboxUrl, 8, 8, ScalingMode.UserDefined) .AddTextToParagraph(" AmEx") .ToTable() .AddRow() .AddCell("CREDIT/DEBIT CARD #") .AddParagraph("FILL HERE") .SetFontColor(Color.White) .SetFontSize(16) .ToRow() .AddCell("EXP. DATE") .AddParagraph("FILL HERE") .SetFontColor(Color.White) .SetFontSize(16) .ToTable() .AddRow() .AddCell("CARDHOLDER NAME") .AddParagraph("FILL HERE") .SetFontColor(Color.White) .SetFontSize(16) .ToRow() .AddCell("CVV") .AddParagraph("FILL HERE") .SetFontColor(Color.White) .SetFontSize(16) .ToTable() .ToCell() .ToRow() .AddCellToRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Center) .SetVerticalAlignment(VerticalAlignment.Center) .SetFontSize(6) .AddTable() .SetContentRowStyleFont(Fonts.Courier(6)) .SetDefaultAltRowStyle() .AddColumnToTable("", XUnit.FromPercent(60)) .AddColumnToTable("", XUnit.FromPercent(40)) .AddRow() .AddCell("ACCOUNT HOLDER NAME") .AddParagraph("FILL HERE") .SetFontColor(Color.White) .SetFontSize(16) .ToRow() .AddCell("BANK NAME") .AddParagraph("FILL HERE") .SetFontColor(Color.White) .SetFontSize(16) .ToTable() .AddRow() .AddCell("ROUTING/TRANSIT #") .AddParagraph("FILL HERE") .SetFontColor(Color.White) .SetFontSize(16) .ToRow() .AddCell("BANK ACCOUNT #") .AddParagraph("FILL HERE") .SetFontColor(Color.White) .SetFontSize(16) .ToTable(); // INFORMATION BLOCK section.AddParagraph("AUTOMATED CLEARINGHOUSE(ACH) DRAFTS ARE REQUIRED TO HAVE A VOIDED CHECK. DEBIT CARDS ARE NOT ACCEPTED. MUST BE ACH OR CREDIT CARDS ONLY.") .SetMarginTop(10) .SetBold() .SetFontSize(8); section.AddParagraph("Only 1 Form of Draft Payment can be entered per person.") .SetListBulleted() .SetFontSize(8); section.AddParagraph("Children enrolled in Summer Camp may have a larger draft amount on May 15 & Aug 1.") .SetListBulleted() .SetFontSize(8); section.AddParagraphToSection() .AddParagraph("I understand that this transfer will occur monthly on the 1st. First draft begins Aug. 1.") .SetListNumbered(NumerationStyle.Arabic, 0, 0) .SetFontSize(8); section.AddParagraph("I understand that should I choose to change a Bank Account I must provide a school with at least a 2 week notice.") .SetListNumbered(NumerationStyle.Arabic, 0, 0) .SetFontSize(8); section.AddParagraph("I understand that the information above will be used to transfer payment from my account.") .SetListNumbered(NumerationStyle.Arabic, 0, 0) .SetFontSize(8); section.AddParagraph("I understand that if my payment is returned for non-sufficient funds I will be charged a $30 fee.") .SetListNumbered(NumerationStyle.Arabic, 0, 0) .SetFontSize(8); section.AddParagraph("BEST SCHOOL only accepts Visa, MasterCard, Discover, and American Express.") .SetListNumbered(NumerationStyle.Arabic, 0, 0) .SetFontSize(8); section.AddParagraph("I understand that after three returned items, I will be ineligible to use the automatic payment option.") .SetListNumbered(NumerationStyle.Arabic, 0, 0) .SetFontSize(8); section.AddParagraph("ACCOUNT HOLDER ACKNOWLEDGMENT") .SetMarginTop(5) .SetBold(); section.AddParagraph() .SetMarginTop(8) .SetMarginLeft(0) .SetBorderWidth(0) .AddTabSymbol().AddTabulationInPercent(50, TabulationType.Right, TabulationLeading.BottomLine) .AddTabSymbol().AddTabSymbol() .AddTabulationInPercent(70, TabulationType.Left) .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine); section.AddParagraph() .SetMarginTop(0) .SetFontSize(10) .AddTabSymbol().AddTextToParagraph("Account Holder Signature") .AddTabulationInPercent(25, TabulationType.Center) .AddTabSymbol() .AddTextToParagraph("Date") .AddTabulationInPercent(85, TabulationType.Center); // STAPLE BLOCK TableBuilder pleaseStapleHereTable = section.AddTable() .SetAlignment(HorizontalAlignment.Center) .SetWidth(XUnit.FromPercent(80)) .SetMarginTop(5) .SetBorderStroke(Stroke.Dotted) .AddColumnToTable("", XUnit.FromPercent(10)) .AddColumnToTable("", XUnit.FromPercent(80)) .AddColumnToTable("", XUnit.FromPercent(10)); pleaseStapleHereTable.AddRow() .SetHorizontalAlignment(HorizontalAlignment.Center) .SetVerticalAlignment(VerticalAlignment.Center) .AddCell() .SetBorderStroke(Stroke.Dotted, Stroke.Dotted, Stroke.None, Stroke.Dotted) .SetFontSize(6) .AddParagraphToCell("Please").AddParagraphToCell("Staple").AddParagraphToCell("Here") .ToRow() .AddCell() .SetBorderStroke(Stroke.None, Stroke.Dotted, Stroke.None, Stroke.Dotted) .SetPadding(0, 68, 0, 64) .SetVerticalAlignment(VerticalAlignment.Center) .AddParagraph("STAPLE VOIDED CHECK HERE").SetBold().SetFontSize(24) .ToRow() .AddCell() .SetBorderStroke(Stroke.None, Stroke.Dotted, Stroke.Dotted, Stroke.Dotted) .SetFontSize(6).AddParagraphToCell("Please").AddParagraphToCell("Staple").AddParagraphToCell("Here") .ToSection() .SetMargins(20, 20, 20, 0); return(builder); }