[GastForen Programmierung/Entwicklung AppleScript Indesign CS, Überdrucken per Script

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Indesign CS, Überdrucken per Script

swish
Beiträge gesamt: 75

26. Aug 2005, 09:04
Beitrag # 1 von 11
Bewertung:
(2619 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Forummembers und hallo Hans !

ich habe einen riesigen Aufbau in InDesign bekommen und habe in der Dokumentchronik gesehen, dass die Jungs (oder Mädelz) von der Werbeagentur einfach auf den "alten" Quark Daten aufgebaut haben. (Dokumentchronik = mit gedrückter Apfeltaste auf "über InDesign" klicken).

Nun hatten wir ja zu Quark Zeiten die wirklich gute Funktion, einstellen zu können, welche Farbe allgemein Überdruckt, Ausspart oder Über-/Unterfüllt. Bei InDesign muss man (meines Wissens) jedes einzelne Überdrucken von nichtschwarzen Farben per Attribut-Menü vornehmen.

Mein Aufbau hat nun eine Sonderfarbe namens "Texthinterleger" und es gibt Texte, Rahmen, Bilder und Boxes in dieser Farbe. Laut Separationsvorschau sehe ich auch, dass keines dieser Objekte Überdruckt. Bin also dabei alles von Hand zu ändern  :(

Man kann im InDesign doch bestimmt per Script steuern, dass alles in einer bestimmten Farbe das Attribut "Überdrucken" bekommt, oder ?

Es müsste jedoch zwischen Kontur und Inhalt unterschieden werden. Teilweise gibt es z.B. farbige Boxes mit Texthinterleger-Kontur.

Wenn das ganze nicht so einfach ist, würde mir für's erste auch ein Ansatz in dieser Richtung reichen:

tell application "Adobe InDesign CS"
  tell document 1
        set overprint of every text whose colour is "Texthinterleger" to true
  end tell
end tell

Ich wünschte, es wäre so einfach :wink:

Beste Grüße,

Stephan
X

Indesign CS, Überdrucken per Script

Hans Haesler
  
Beiträge gesamt: 5818

26. Aug 2005, 10:52
Beitrag # 2 von 11
Beitrag ID: #420085
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

nein, so einfach ist es nicht. Dein 'overprint' wird als Variable erkannt  (statt als Ausdruck
des Programms). Es muss 'overprint fill' heissen (und 'overprint stroke' für Konturen).
Hier schon mal der Code, welcher sich um den Text kümmert.

Die Farbe muss als Objekt definiert sein und das Script muss jeden Buchstaben
ansprechen. Mit 'every text' geht es nicht.
---
tell application "InDesign CS"
   tell document 1
      set myColor to swatch "Texthinterleger"
      try
         tell every story
            set overprint fill of every character whose fill color is myColor to true
         end tell
      end try
   end tell
end tell

---
Gruss, Hans


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

Hans Haesler
  
Beiträge gesamt: 5818

26. Aug 2005, 11:04
Beitrag # 3 von 11
Beitrag ID: #420086
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

und hier ist der Code ergänzt, damit auch Rahmen und Linien erfasst werden:
---
tell application "InDesign CS"
   tell document 1
      set myColor to swatch "Texthinterleger"
      try
         tell every story
            set overprint fill of every character whose fill color is myColor to true
         end tell
      end try
      try
         tell every page item
            set overprint fill whose fill color is myColor to true
         end tell
      end try
      try
         tell every page item
            set overprint stroke whose stroke color is myColor to true
         end tell
      end try
   end tell
end tell

---
Gruss, Hans


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

swish
Beiträge gesamt: 75

26. Aug 2005, 11:14
Beitrag # 4 von 11
Beitrag ID: #420087
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Hans,

kannst Du mir auch noch sagen, wie meine Farbe zu einem Objekt wird ? Ich habe den Texthinterleger ganz normal per Farbfeld als Sonderfarbe angelegt. Wenn ich das Skript ausführe, ändert sich nur leider nicht der Überdruckenmodus der Texte.

Gruß,

Stephan


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

Hans Haesler
  
Beiträge gesamt: 5818

26. Aug 2005, 11:31
Beitrag # 5 von 11
Beitrag ID: #420088
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

ich wollte sagen "eine Referenz". So ähnlich wie ein Alias. Das wird so erreicht:
Code
[b]set myColor [b]to swatch "Texthinterleger" 

Wenn der Name der Farbe direkt eingesetzt wird ...
Code
[b]set overprint fill [b]of every character [b]whose fill color [b]is swatch "Texthinterleger" [b]to true 

... funktioniert es nicht.

Ich hatte in meinem Testdokument die Farbe "Texthinterleger" im Vierfarb-Modus erzeugt.
Aber auch nach dem Umwandeln in eine Sonderfarbe klappt es bestens.

Wie überprüfst Du das Überdrucken? Ich öffne dazu die Palette "Aperçu des séparations",
(ich weiss leider nicht, wie dies auf deutsch übersetzt worden ist), wähle den Artikel
"Séparations" und z.B. den Magenta-Auszug. Vor dem Ausführen des Scripts ist der Text
ausgespart. Nachher ist die Fläche intakt, der Text überdruckt.

Gruss, Hans


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

swish
Beiträge gesamt: 75

27. Aug 2005, 15:54
Beitrag # 6 von 11
Beitrag ID: #420089
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo nochmal,

in Deutsch heißt diese Palette "Ausgabevorschau"->"Separationen", bzw. Separationsvorschau.

Ich habe ein Testdokument angelegt und dort funktioniert Dein Script hervoragend ! Bei meinem Katalog leider nicht. Mein erste Gedanke war, dass es vielleicht an den eingebauten Logos, die ebenso doe Farbe "Texthinterleger" verwenden liegt. Nachdem ich diese herausgeworfen habe und sicherheitshalber auch noch alle Bilder entfernt habe, funktionierte es allerdings immer noch nicht ?!!?

Habe dann mal einen anderen Weg probiert:

tell application "InDesign CS"
 tell document "Unbenannt-2"
  set myColor to swatch "Texthinterleger"
  repeat with i from 1 to the count of stories
   tell story i
    set (overprint fill of every character whose fill color is myColor) to true
   end tell
  end repeat
 
 end tell
end tell

Die try-Blöcke habe ich absichtlich herausgelassen. Hier kommt dann allerdings diese Meldung:

 set overprint fill of every character of story 1 of document "Unbenannt-2" whose fill color = {color id 647 of document "Unbenannt-2", tint id 658 of document "Unbenannt-2"} to true
  "„InDesign CS“ hat einen Fehler erhalten: „overprint fill of every character of story 1 of document \"Unbenannt-2\" whose fill color = {color id 647 of document \"Unbenannt-2\" of application \"InDesign CS\", tint id 658 of document \"Unbenannt-2\" of application \"InDesign CS\"}“ kann nicht als „true“ gesetzt werden."

Was hat es mit dem Tint auf siche ? Ist das die Deckkraft ?

Gruß,

Stephan


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

Hans Haesler
  
Beiträge gesamt: 5818

27. Aug 2005, 16:21
Beitrag # 7 von 11
Beitrag ID: #420090
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

weisst Du was? Am einfachsten ist es, wenn Du mir eine abgespeckte Version (nur eine
Seite, ohne Bilder) des Katalog-Dokuments schickst. Ich muss allerdings gleich weg und
werde nicht vor Sonntagmorgen antworten können.

Ein "tint" ist ein definierter Prozentwert einer angelegten Farbe. Er erscheint als Artikel
in der Farbenpalette, hat den gleichen Namen, ergänzt mit der Prozentzahl.

Gruss, Hans


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

swish
Beiträge gesamt: 75

27. Aug 2005, 16:29
Beitrag # 8 von 11
Beitrag ID: #420091
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank für das Angebot!

eMail ist unterwegs.

Schönes Wochenende,

Stephan


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

Hans Haesler
  
Beiträge gesamt: 5818

28. Aug 2005, 07:46
Beitrag # 9 von 11
Beitrag ID: #420092
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

die Lösung ist, im Befehl, welcher der Variablen 'myColor' die Referenz zur gewünschten Farbe
zuweist, das 'swatch' durch 'color' zu ersetzen. Damit werden sowohl der "swatch" als auch der
(gleichnamige) "tint" abgedeckt:
Code
[b]set myColor [b]to color "Texthinterleger" 

Übrigens: Der "tint" von 80% des "swatches" "Texthinterleger" ist nur auf die Seitennummer
angewendet. Beim Kapiteltitel hingegen, wurde der Tonwert über das Textfeld direkt erzeugt ...

Gruss, Hans


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

swish
Beiträge gesamt: 75

29. Aug 2005, 07:45
Beitrag # 10 von 11
Beitrag ID: #420093
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super! Es funktioniert jetzt einwandfrei!

Ich verstehe nur noch nicht so ganz, wieso das Skript mit dem Aufruf "swatch" bei der Testseite funktionierte, aber im Dokument nicht.


als Antwort auf: [#420084]

Indesign CS, Überdrucken per Script

Hans Haesler
  
Beiträge gesamt: 5818

29. Aug 2005, 08:12
Beitrag # 11 von 11
Beitrag ID: #420094
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

super, dass es klappt! :-)

Sehr wahrscheinlich ist im Testseiten-Dokument nur ein "swatch" vorhanden, aber kein
gleichnamiger "tint". Letzterer muss nicht einmal einem Objekt zugewiesen sein.
Sobald so ein "tint" definiert ist, muss man anstelle von "swatch" eben "color" verwenden.
Gut zu wissen.

Gruss, Hans


als Antwort auf: [#420084]
X

Aktuell

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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/