When the text overflows on the screen

I combined two paragraphs to form an element.
One is a line-shaped figure with text underneath it.
If some text moves to the next screen, is there a way to flip the shape and the entire text to the next screen?

fun build(builder: DocumentBuilder) {
        builder.writeln(); builder.writeln(); builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln()
        builder.writeln(); builder.writeln(); builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln()
        builder.writeln(); builder.writeln(); builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln()
        builder.writeln(); builder.writeln(); builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln();builder.writeln()

        builder.also {
            it.insertParagraph()
            val shape = Shape(builder.document, ShapeType.LINE).apply {
                width = 452.0
                top = 10.0
            }
            it.insertNode(shape)
        }

        builder.insertParagraph()
        builder.writeln("TITLE")
        builder.writeln()
        builder.write(
            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +
                    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
        )
    }

Currently, the text is truncated and moves on to the next screen.
asis.docx (5.7 KB)

tobe.docx (12.6 KB)
I would like to send the entire text to the next page if the text is cut due to lack of space.

@URLENCE You can easily achieve what you need using KeepWithNext and KeepTogether properties of the Paragraph. For example see the following code:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

for (int i = 0; i < 40; i++)
    builder.writeln();

builder.insertParagraph();
// keep the following paragraphs together.
// to achieve this set keep with next and keep together property.
builder.getParagraphFormat().setKeepWithNext(true);
builder.getParagraphFormat().setKeepTogether(true);
Shape shape = new Shape(doc, ShapeType.LINE);
shape.setWidth(452.0);
shape.setTop(10.0);
builder.insertNode(shape);

builder.insertParagraph();
builder.writeln("TITLE");
builder.writeln();
builder.write(
        "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +
                "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
);

// If you insert more content here reset keep with next and keep together properties,
// when new paragraph is inserted.

doc.save("C:\\Temp\\out.docx");

out.docx (7.3 KB)