hilfdirselbst.ch
Facebook Twitter gamper-media
cremer2006 S
Beiträge: 19
9. Okt 2013, 15:27
Beitrag #1 von 6
Bewertung:
(2051 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Endformat-Markierung (Abwandlung der CropMarks.jsx): Hilfe bei Farbdefinition benötigt


Hallo zusammen!

Kurzfassung:
Bei "CropMarks" ein Dialog zur Wahl der Farbe (statt der vordefinierten "Registration") möglich?

Romanfassung:
Ich würde gerne das Basis-Script "CropMarks.jsx" modifizieren.
Als Grundlage verwende ich das bereits auf metrische Werte umgestellte, ins Deutsch übersetzte sowie zusätzlich um den "Anschnitt" ergänzte Version "Beschnittzeichen.jsx". Ich glaube, jene Arbeit geht auf Gerald Singelmann zurück?!

Mein Ziel war es, daraus ein Tool zur Erstellung von "Endformat-Marken" zur besseren Visualisierung zu erstellen.
Bei den Objekten handelt es sich um .ai-Dateien, welche jeweils einen definiertem Anschnitt von 3 mm haben und in InDesign CS6 per Importoption z.B. mit Beschnitt auf Medienrahmen und nicht auf Objektrahmen platziert werden.
Nun sollen die Ecken der eigentlichen TrimBox des Bildes eine vorhandene Farbe im Vollton aus dem Farbfelder-Bedienfeld zur Auswahl erhalten. Weil zusätzlich bzw. ausschließlich Sonderfarben im Druckbild vorkommen, demnach per Voreinstellung also nicht Passermarken (100/100/100/100-CMYK).

Das vor einiger Zeit angeschaute "InDesign-Scripting für Grafiker" von video2brain hat mir als als Scripting-Anfänger einen ersten Einblick verschafft, so dass ich leichte Anforderungen (meine gewünschten Werte voreinstellen, die unbenötigte Auswahl der "Passermarken" deaktivieren, Begriffe umbennen) selbständig ändern konnte. Für die zusätzliche Farbdefinition sitze ich aber vor den vorhandenen Codezeilen und dem ObjectModelViewer wie vor einem Berg mit Höhenangst.

Für ein perfektes Ergebnis könnte ich auf die derzeit vorhandene Abfrage ob Objekt/Auswahl oder nach den metrischen Maße aufgrund stets identischer Werte verzichten.
Mir wäre aber bereits mit einen Hinweis geholfen, ob/wie ich dem Script eine Abfrage nach "Wählen Sie eine Farbe" für die individuellen Marken einverleiben kann.

Die unter myDrawLine verwendete var zu
myDocument.colors.item("Registration")
sehe ich zwar mit der gesetzten Farbe "Registration", im Object Model Viewer sowie dessen Suche finde ich leider myDocument.colors.item nicht, um dort selbst weiter zu stöbern.

Anbei das Ausgangs-Script sowie meine editierte Fassung und ein Beispiel-Dokument
http://shareplace.com/?161A20CE35

Vielen Dank und beste Grüße

cremer2006 Top
 
X
Hans Haesler  M  p
Beiträge: 5557
13. Okt 2013, 09:51
Beitrag #2 von 6
Beitrag ID: #518375
Bewertung:
(1984 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Endformat-Markierung (Abwandlung der CropMarks.jsx): Hilfe bei Farbdefinition benötigt


Hallo cremer2006,

anscheinend verwendest Du Windows, denn ich habe es nicht geschafft, das Ausgangs-Script und Dein Beispiel-Dokument herunterzuladen.

Also holte ich mir das Script bei Gerald und erweiterte den Dialog mit einem lokalen Menü zur Farbwahl.

Anstelle der im Script gesetzten Farbe "Registration" musst Du ganz einfach den Namen Deiner Vollton-Farbe einsetzen. Doch der Reihe nach.

Zuerst die Farben des Dokuments auflisten, eine Schleife durch diese Objekte, bei jedem prüfen ob Vollton, wenn ja, den Namen der Farbe an den Array hängen:

Code
var myColors = app.activeDocument.colors; 
// einen neuen Array vorbereiten
var mySpotColorList = new Array();
// eine Schleife durch die Farben
for (var i=0; i<myColors.length; i++) {
var myColor = myColors[i];
// nur Vollton-Farben auflisten
if (myColor.model == ColorModel.SPOT) {
mySpotColorList.push(myColor.name);
}
}

Dann den Dialog um einen Eintrag erweitern und die Liste der Vollton-Farben zur Auswahl anbieten:

Code
with(borderPanels.add()){ 
staticTexts.add({staticLabel:"Farbe wählen:", minWidth:80});
with (dialogColumns.add()) {
var mySpots = dropdowns.add({stringList:mySpotColorList, selectedIndex:0);
}
}

Die Auswertung ergänzen ...

Code
var mySpotColor = mySpotColorList[mySpots.selectedIndex]; 

'mySpotColor' ist der Name der gewählten Farbe. Das Element 'selectedIndex' des Arrays 'mySpotColorList'. Diesen Namen – zusammen mit den schon bestehenden Werten – an die Funktion 'myDrawPrintersMarks(myRange, ... , myRegMarkOffset, mySpotColor)' übergeben.

Schliesslich in der Zeile 'myRegistrationColor' die Farbe "Registration" durch die übergebene Variable ersetzen:

Code
var myRegistrationColor = myDocument.colors.item(mySpotColor); 

Ich habe Dir das Script Beschnittzeichen_Vollton.js per PM zugestellt.

Gruss, Hans
als Antwort auf: [#518253] Top
 
cremer2006 S
Beiträge: 19
15. Okt 2013, 13:55
Beitrag #3 von 6
Beitrag ID: #518447
Bewertung:
(1926 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Endformat-Markierung (Abwandlung der CropMarks.jsx): Hilfe bei Farbdefinition benötigt


Hallo Hans,

vielen Dank für die Hilfe! Deine Integration der Farbauswahl ist wirklich gut umgesetzt!
Leider habe ich mich anscheinend in der Beschreibung falsch ausgedrückt: mit "Vollton" meinte ich nicht nur Sonderfarben, sondern alle im Dokument definierten Farben.

Achja, bei dem von Dir verwendeten Script handelt es sich um die Fassung ohne "Anschnitt".
Im Anhang die erweiterte Version mit der Möglichkeit, diesen Versatz der Beschnittzeichen (z.B. in die Objektauswahl hinein) zu definieren.

Beste Grüße
______________________________________________

Mac OS X 10.8.5, InDesign CS 6 (8.0.2), Mac-mini 2.3 i7 16GB DELL U2711, Acer B236HL
als Antwort auf: [#518375] Top
 
Hans Haesler  M  p
Beiträge: 5557
15. Okt 2013, 14:09
Beitrag #4 von 6
Beitrag ID: #518449
Bewertung:
(1920 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Endformat-Markierung (Abwandlung der CropMarks.jsx): Hilfe bei Farbdefinition benötigt


Hallo cremer2006,

bitte sehr!

Ich bin im Moment unterwegs. Deshalb nur soviel: Gratulation zum PremiumMember-Status! Unaufgefordert gespendet! Wirklich vorbildlich.

Ich werde im Laufe des Abends das Berücksichtigen aller Farbfelder umsetzen.

Gruss, Hans
als Antwort auf: [#518447]
(Dieser Beitrag wurde von Hans Haesler am 15. Okt 2013, 22:47 geändert)
Top
 
Hans Haesler  M  p
Beiträge: 5557
15. Okt 2013, 22:52
Beitrag #5 von 6
Beitrag ID: #518467
Bewertung:
(1868 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Endformat-Markierung (Abwandlung der CropMarks.jsx): Hilfe bei Farbdefinition benötigt


Hallo cremer2006,

also ... alle Farbfelder berücksichtigen. Oder fast alle. Denn "[Ohne]" macht keinen Sinn. "[Papier]" eher auch nicht.

Weil nicht mehr das Color.Model geprüft werden muss, werden nicht mehr die colors aufgelistet, sondern die swatches (bei welchen das Color.Model nicht greifbar ist, aber der Name genügt).

Code
var mySwatches = app.activeDocument.swatches; 
// einen neuen Array vorbereiten
var mySwatchesList = new Array();
// eine Schleife durch die Farbfelder
for (var s=0; s<mySwatches.length; s++) {
var mySwatchName = mySwatches[s].name;
if (mySwatchName != "None" && mySwatchName != "Registration" && mySwatchName != "Paper" && mySwatchName != "Black") {
mySwatchesList.push(mySwatchName);
}
}

Das if (mySwatchName != "None" usw. bedeutet: Wenn der Name des aktuellen Elements nicht "None" ist usw., dann wird dieser Name mit push() an den Array angefügt.

Weil "[Passermarken]" und "[Schwarz]" eventuell auch in Frage kommen, werden sie zuletzt angefügt, damit das erste Element des Menüs ein benutzerdefiniertes Farbfeld sein wird.

Code
// zuletzt noch "[Passermarken]" und "[Schwarz]" anhängen 
mySwatchesList.push("[Passermarken]", "[Schwarz]");

Beim Auswerten der Wahl des Anwenders müssen diese zwei Namen wieder zurückübersetzt werden, damit es beim Zuweisen keine Fehlermeldung absetzt:

Code
var myRegSwatch = mySwatchesList[myNames.selectedIndex]; 
// "[Schwarz]" und "[Passermarken]" zurückübersetzen
if (myRegSwatch == "[Schwarz]") {
myRegSwatch = "Black";
}
else if (myRegSwatch == "[Passermarken]") {
myRegSwatch = "Registration";
}

Weil Du schon begonnen, das Script mit Anschnitt auf Deine Bedürfnisse anzupassen, werden wir mit Deiner Version weiterfahren.

Ich werde sie Dir zurücksenden. Mit der oben gezeigten Änderung und – wie gewünscht – ohne das Erzeugen einer eigenen Ebene. Aber erst morgen.

Gruss, Hans
als Antwort auf: [#518449] Top
 
Hans Haesler  M  p
Beiträge: 5557
16. Okt 2013, 07:53
Beitrag #6 von 6
Beitrag ID: #518474
Bewertung:
(1829 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Endformat-Markierung (Abwandlung der CropMarks.jsx): Hilfe bei Farbdefinition benötigt


Hallo cremer2006,

das versprochene Script ist abgeschickt.

Ich habe nun die Abschnitte "Passermarken" und "Marken um:" auch noch entfernt.
Die Checkbox zum Aktivieren des "Anschnitt-Marken"-Abschnitts macht so keinen Sinn mehr. Also weg damit.

Und weil nur noch "gecroppt" wird, habe ich die Variable der gewählten Farbe umbenannt in "myCropSwatch".

Ich hoffe, Deine Wünsche richtig verstanden zu haben. :-)

Gruss, Hans
als Antwort auf: [#518467] Top
 
X