[GastForen Programme Print/Bildbearbeitung Adobe InDesign Indesign JavaScript

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

Indesign JavaScript

doin0011
Beiträge gesamt: 1

16. Sep 2005, 14:40
Beitrag # 1 von 5
Bewertung:
(6613 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie sieht der JavaScript source code aus, wenn man in InDesign den Namen von Formatvorlagen automatisch umbenennen will?
X

Indesign JavaScript

Martin Fischer
  
Beiträge gesamt: 12783

16. Sep 2005, 15:14
Beitrag # 2 von 5
Beitrag ID: #187565
Bewertung:
(6584 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi boin,

ich bin zwar überzeugt, Dich nicht richtig verstanden zu haben.
Vielleicht hilft Dir aber dies weiter:
Code
//FormatNamenUmbenennen.js 

var myOldStyle = ["Überschrif1", "Überschrift2"]
var myNewStyle = ["Überschrift 1", "Überschrift 2"]

var myDoc = app.documents[0];
var myStyles = myDoc.paragraphStyles;
if (myOldStyle.length == myNewStyle.length){
for (k=0;k<myOldStyle.length;k++){
changeName(myOldStyle[k], myNewStyle[k]);
}
}
else{
alert(myOldStyle.length + " alte Formate gegen " + myNewStyle.length + " neue Formate.\rBitte angleichen.")
}

function changeName(oldStyle, newStyle){
try{
myStyles.item(oldStyle).name=newStyle;
}
catch(e){
//möglichereise newStyle nicht überschreibbar
alert("Absatzformat \"" + oldStyle + "\" nicht vorhanden oder Absatzformat \"" + newStyle + "\" nicht überschreibbar.")
}
}


oder das
Code
// FormatNamenUmbenennenSprache.js 
// Ersetzt in den Formatnamen den String myAltSprach durch myNeuSprach
// z.B. aus "Normal_DEU" wird "Normal_FRA"
//
var myAltSprach = "DEU"
var myNeuSprach = "FRA"

var myDoc = app.documents[0];
var myStyles = myDoc.paragraphStyles;
for (k=1;k<myStyles.length;k++){
myDoc.paragraphStyles[k].name = convertName(myDoc.paragraphStyles[k].name);
}

function convertName(oneStyle){
var oneStyle = oneStyle.split(myAltSprach);
var oneStyle = oneStyle.join(myNeuSprach);
return oneStyle;
}



als Antwort auf: [#187555]

Indesign JavaScript

Aioli
Beiträge gesamt: 5

3. Jul 2019, 10:47
Beitrag # 3 von 5
Beitrag ID: #570924
Bewertung:
(2299 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

das Script FormatNamenUmbenennenSprache.js ist genau das, was ich brauche, vielen Dank dafür!
Mein Szenario: Etliche Formate eines Titels enthalten am Anfang „FR“ und sollen in „XR“ umbenannt werden, um als Vorlage für ein neues Werk weiterverwendet werden zu können.

DEU/FRA habe ich ersetzt und das Script abgespeichert.
Beim Ausführen des Scripts innerhalb eines Testdokuments mit einem Absatzformat „FR_Grundtext“ erhalte ich jedoch folgende Fehlermeldung:

Zitat JavaScript Fehler!
Fehlernummer 528
Fehlerzeichenfolge: Im Formatnamen dürfen keine Klammern verwendet werden.

Engine: main
...
Zeile: 11
Quelle: myDoc.paragraphStyles[k].name =


Ich nutze Indesign CS 6 am PC und habe auch schon andere Absatzformatnamen probiert. Wird eine Klammer im Code angemeckert oder weißt du, weshalb es hier zum Fehler kommt?

Herzlichen Dank im Voraus und viele Grüße


als Antwort auf: [#187565]

Indesign JavaScript

Martin Fischer
  
Beiträge gesamt: 12783

3. Jul 2019, 11:20
Beitrag # 4 von 5
Beitrag ID: #570928
Bewertung:
(2280 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Aioli,

huch, das Skript ist schon uralt.
Willst Du die Aufgabe unter CS6-Bedingungen nicht lieber mit sprachspezifischen Formatgruppen lösen?

Der Fehler resultiert aus der Tatsache, dass das Skript auch versucht, das Absatzformat "[Einfacher Absatz]" (mit Klammern) umzubenennen. Das kann umgangen werden, indem der Start der Zählervariable von 1 auf 2 erhöht wird:

Code
// FormatNamenUmbenennenSprache.js  
// Ersetzt in den Formatnamen den String myAltSprach durch myNeuSprach
// z.B. aus "Normal_DEU" wird "Normal_FRA"
//
var myAltSprach = "DEU"
var myNeuSprach = "FRA"

var myDoc = app.documents.firstItem();
var myStyles = myDoc.paragraphStyles;
for (var i = 2; i < myStyles.length; i++)
{
try
{
myDoc.paragraphStyles.item(i).name = convertName(myDoc.paragraphStyles.item(i).name);
}
catch(e)
{
alert(myDoc.paragraphStyles.item(i).name + ': ' + e.message);
}
}

function convertName(oneStyle)
{
var str = oneStyle.split(myAltSprach).join(myNeuSprach);
return str;
}



als Antwort auf: [#570924]

Indesign JavaScript

Aioli
Beiträge gesamt: 5

3. Jul 2019, 11:43
Beitrag # 5 von 5
Beitrag ID: #570930
Bewertung:
(2269 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

besten Dank für deine schnelle Hilfe und Erklärung!

Du hast völlig recht: Ich sehe, dass ausschließlich Formate außerhalb von Formatgruppen umbenannt werden.
Tatsächlich geht es „nur“ darum, die Werkskürzel in den Formaten umzubenennen. Wenn nun diese Kürzel vom Arbeitstitel auf den finalen Titel geändert werden, muss ich mehrere Dutzend Formate und Formatgruppen umbenennen.
Anschließend wird für ein darauf aufbauendes Werk ein neues Kürzel gebraucht werden (Kundenanforderung).

Beispiel:
Der Arbeitstitel vom Anfang der Satzarbeiten, nennen wir ihn „FR“, muss dann „XR“ heißen und im nächsten Werk „YB“.

Wäre es dir möglich, das Script dahingehend zu erweitern, oder gibt es so etwas schon und ich habe es nicht gefunden?

Und: Kann eine Wiederholung mit
Code
var myStyles = myDoc.characterStyles; 

die Zeichenformate einschließen oder muss dort mehr beachtet werden?

Beste Grüße!


als Antwort auf: [#570928]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!