@Northman There is not built in way to achieve this, since image is not flow content. To achieve what you need you should have two copies of the same shape with different cropping.
You can crop the image using ImageData.CropBottom, ImageData.CropLeft, ImageData.CropTop, ImageData.CropRight properties. For example, see the following code, which inserts an image two times and crop one part from bottom another part from top:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape image1 = builder.InsertImage(@"C:\Temp\test.png");
builder.Writeln();
Shape image2 = builder.InsertImage(@"C:\Temp\test.png");
image1.ImageData.CropBottom = 0.3;
// AspectRatioLocked should be unlocked so the change of shape height does not affect its width.
image1.AspectRatioLocked = false;
// Decrease shape height according to the crop value.
image1.Height = image1.Height * 0.7;
image2.ImageData.CropTop = 0.7;
image2.AspectRatioLocked = false;
image2.Height = image2.Height * 0.3;
doc.Save(@"C:\Temp\out.docx");
In your case, if the image is inline, you can clone the image for example 10 times, crop them so the each shape represent a 10% stripe of the original image and put them into separate paragraphs one after another. In this case layout engine will move stripes to the next page if they does not fit the page height.