Hallo, Peter!
Ich komme noch mal aus aktuellem Anlaß auf Deine Entdeckung des nicht-dokumentierten Parameters in der Methode transform() zurück.
Ich habe mal ein Dokument mit 3 Seiten angelegt. Auf jeder Seite ein gelbes Rechteck, das um 20° gedreht werden soll. Die Montagefläche ist auf das absolut mögliche Minimum begrenzt: kein Abstand in beide Richtungen!
Tut nichts zur Sache, aber hier im Code-Beispiel arbeite ich mit der Auswahl des gelben Rechtecks:
Wähle ich also der Reihe nach durch die Seiten das gelbe Rechteck aus und lasse jeweils das Script laufen, ergibt sich eine interessante Transformationsfolge, die sich durch das Dokument zieht.
Siehe angehängtem Screenshot:
"1-TransformMethod_CounterclockwiseRotationAngle.png"
Die abgebildete rote Linie habe ich anschließend eingefügt. Sie zeigt den Drehwinkel mit Flucht zum imaginären 0-Punkt der Rotation, der sich durch die ganze Datei durchzieht. Auffälligerweise findet auch der "Abstand" zwischen den einzelnen Montageflächen beachtung (wie bereits oben vermerkt: die Montagefläche ist auf die kleinste Größe eingestellt)!
"2-DetailBetweenTheSpreads.png"
Ändert man nun die Montagefläche zB. in der Höhe, ändert sich auch die Position des gedrehten Objekts, da sich der imaginäre 0-Punkt des gesamten Dokumentes den neuen Gegebenheiten anpasst:
"3-PasteBoard-0-100.png"
(Im hier gezeigten Beispiel verursacht die Abarbeitung des Scripts auf Seite 3 einen Fehler: "Mit diesem Wert würde mindestens ein Objekt von der Montagefläche verdrängt.". Kein Wunder.)
Definiert man hingegen die transform()-Methode mit der von Dir gefundenen Erweiterung des Parameters für die Seite (der Index der Seite innerhalb des Dokuments), läuft das Script wunschgemäß für alle Druckbogen problemlos und vorhersehbar.
Siehe Screenshot am Beispiel der dritten Seite:
"4-UndocumentedParameterUsed.png"
Nochmals danke für den Hinweis!