[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skript: Variable Dokumentenmaße mit Voreinstellungen und Absatzformaten

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Skript: Variable Dokumentenmaße mit Voreinstellungen und Absatzformaten

stefanowitsch
Beiträge gesamt: 3

19. Sep 2024, 12:05
Beitrag # 1 von 1
Bewertung:
(12493 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebe Forumsmitglieder,
ich tüftele gerade an einem Skript für InDesign, welches mir wiederkehrende Arbeitsschritte ersparen soll.

Mein „Katalog“ sieht in etwa so aus:
- Dialog mit Abfrage der Maße
- Grundlinienraster auf 25 mm einstellen
- eine Farbtafel anlegen
- Ränder (oben, unten, links und rechts) auf 125 mm einstellen
- Anzeigenschwellwert auf 5 % einstellen
- „Raster im Hintergrund“ nicht aktiv
- Dokument nicht als „Doppelseitendokument“ erstellen
- neues Absatzformat mit Name „Format 1“ (Univers LT 45, SG: 100 pt, ZAB: 150 pt, am GLR ausgerichtet) erstellen


Durch Herumprobieren und bemühen der KI konnte ich ein einige Vorgaben schon umsetzen. Mit den in Rot markierten Anforderungen hapert es jedoch noch.

Könntet ihr mit da behilflich sein? Vielen Dank.


Code
// Funktion zum Erstellen eines Dialogs 
function createDialog() {
var dialog = app.dialogs.add({name:"Dokumenteinstellungen"});

// Dialogfelder erstellen
var dialogColumn = dialog.dialogColumns.add();
var widthField = dialogColumn.dialogRows.add().textEditboxes.add({editContents: "210", minWidth: 100, description: "Breite in mm"});
var heightField = dialogColumn.dialogRows.add().textEditboxes.add({editContents: "297", minWidth: 100, description: "Höhe in mm"});

if (dialog.show() === true) {
var width = parseFloat(widthField.editContents);
var height = parseFloat(heightField.editContents);
dialog.destroy();
return {width: width, height: height};
} else {
dialog.destroy();
return null;
}
}

// Farbtafel hinzufügen
function addSwatch() {
var newColor = app.documents[0].colors.add();
newColor.space = ColorSpace.CMYK;
newColor.colorValue = [0, 0, 100, 0]; // CMYK-Wert 0/0/100/0
}

// Dokumenteinstellungen anwenden
function setupDocument(doc, width, height) {
doc.documentPreferences.pageWidth = width + "mm";
doc.documentPreferences.pageHeight = height + "mm";

// Musterseite auswählen
var masterSpread = doc.masterSpreads.item(0);
var pages = masterSpread.pages;

for (var i = 0; i < pages.length; i++) {
var page = pages[i];

// Ränder auf jeder Seite der Musterseite einstellen (alle auf 125 mm)
page.marginPreferences.top = 125;
page.marginPreferences.bottom = 125;
page.marginPreferences.left = 125;
page.marginPreferences.right = 125;
}

// Grundlinienraster einstellen (25 mm)
doc.gridPreferences.baselineDivision = 25;
doc.gridPreferences.baselineStart = 0;
}

// Hauptfunktion
function main() {
var dialogResult = createDialog();
if (dialogResult !== null) {
var doc = app.documents.add(); // Neues Dokument erstellen
setupDocument(doc, dialogResult.width, dialogResult.height);
addSwatch(); // Sonderfarbe hinzufügen
}
}

// Skript ausführen
main();

X