Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » Indesign Script

Indesign Script

danielwbittner
Beiträge gesamt: 11

29. Jan 2025, 21:04
Bewertung:

gelesen: 20358

Beitrag als Lesezeichen
Hallo ich habe folgendes Script:


Code
try { 
var doc = app.activeDocument;
var activePage = app.activeWindow.activePage;
var pageItems = activePage.allPageItems;

if (pageItems.length === 0) {
alert("Es gibt keine Objekte auf der aktiven Seite.");
} else {
// Alle Objekte auf der aktiven Seite auswählen
for (var i = 0; i < pageItems.length; i++) {
pageItems[i].select(SelectionOptions.ADD_TO);
}

// Rahmen an Inhalt anpassen
for (var j = 0; j < pageItems.length; j++) {
if (pageItems[j].hasOwnProperty("fit")) {
pageItems[j].fit(FitOptions.FRAME_TO_CONTENT);
}
}

// Zwischenraum vertikal verteilen
app.menuActions.itemByID(119865).invoke(); // "Distribute Vertical Space" menu action
}
} catch (e) {
alert("Ein Fehler ist aufgetreten: " + e.message);
}



Das soweit auch funktioniert. Nur der letzte Schritt "Zwischen vertikal verteilen" wird nicht ausgeführt. Dann kommt "Ein Fehler ist aufgetreten: Object is invalid"

Indesign Script

Uwe Laubender
Beiträge gesamt: 5350

29. Jan 2025, 21:18
Bewertung:

gelesen: 20349

Beitrag als Lesezeichen
Hallo Daniel,
woher hast Du die ID der menuAction ?

Diese menuAction hier sollte passen:

Code
app.menuActions.itemByName( "$ID/Vertical Distribute Space" ).invoke(); 

*****
Mit herzlichem Gruß,
Uwe Laubender

Indesign Script

danielwbittner
Beiträge gesamt: 11

30. Jan 2025, 21:44
Bewertung:

gelesen: 20009

Beitrag als Lesezeichen
Lieber UWE,

herzlichen Dank,

genau jetzt funktioniert das Script ohne Fehler.

Ich hatte das Script von MATE schreiben lassen.

Indesign Script

Rudix
Beiträge gesamt: 63

31. Jan 2025, 11:04
Bewertung:

gelesen: 19776

Beitrag als Lesezeichen
Wenn immer möglich, würde ich persönlich von der Verwendung von scriptangesteuerten Menübefehlen abraten, aus verschiedensten Gründen.

Hier würde sich die am Dokument aufgehängte Methode "distribute" empfehlen, mithilfe derer du leicht alle notwendigen Optionen sicher setzen und die übergebenen Objekte verteilen kannst. Vgl. etwa:

https://www.indesignjs.de/extendscriptAPI/indesign-latest/#Document.html#d1e49668__d1e54094

Viel Erfolg und viele Grüße, Rudi

Indesign Script

Uwe Laubender
Beiträge gesamt: 5350

9. Feb 2025, 20:31
Bewertung:

gelesen: 16494

Beitrag als Lesezeichen
Zitat von danielwbittner Ich hatte das Script von MATE schreiben lassen.


Und wer sich jetzt gewundert hat, was "MATE" eigentlich ist:

MATE for InDesign: Once Upon a Time in the Revolution!
Marc Autret, February 03, 2025 | Extras | en
https://indiscripts.com/...me-in-the-revolution

MATE
AI Assistant for Creatives

by Eugen Pflüger
Experimental plugins that help you with your daily tasks, creating scripts, and translating texts.
https://www.omata.io/mate
https://www.omata.io/mate/indesign
*****
Mit herzlichem Gruß,
Uwe Laubender