private static void AddDivs(Document doc, float innerDivHeight, Style inner, Style predefined, bool first) { // Make page not empty to trigger KEEP_TOGETHER actual processing doc.Add(new Paragraph("Just some content to make this page not empty.")); Div innerDiv = new Div(); innerDiv.SetBackgroundColor(ColorConstants.RED); innerDiv.SetHeight(innerDivHeight); // Set KEEP_TOGETHER on inner div innerDiv.SetKeepTogether(true); innerDiv.SetHeight(innerDivHeight); innerDiv.AddStyle(inner); Div outerDiv = new Div(); outerDiv.SetBorder(new SolidBorder(50)); if (first) { outerDiv.Add(innerDiv); } outerDiv.Add(new Div().SetHeight(200).SetBackgroundColor(ColorConstants.BLUE).AddStyle(predefined)); if (!first) { outerDiv.Add(innerDiv); } doc.Add(outerDiv); doc.Add(new AreaBreak()); }