I'm trying to create a kind of page break function for pdfs using pikepdf.
Given some vertical position (dotted grey line in the image) I want to split the page into two pages. I want to keep the page size and move the elements under the line to the top of the next page.
I basically need to do 3 things:
- List elements on page
- Find the position of given elements
- Move elements around the page
I'm struggling to find the relevant documentation on the pikepdf docs page. Could someone point me in the right direction?

You should be able to do this in
cpdf(or its Python library versionpycpdflib). From the command line, you might do (untested):(duplicate page three as new page 4)
(crop the duplicate pages for suitable x y w h values)
(actually trim the page content to the new trim boxes, baking it in)
(remove the trim box, restoring the original page dimensions but leaving the hard box in place)
(shift the lower part up to the top of the page for some dx dy)