Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Koordinaten und Größen im Indesign
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Telefon112
•->
•->


Anmeldedatum: 15.11.2005
Beiträge: 6

BeitragVerfasst am: 15.11.2005 - 14:04    Titel: Koordinaten und Größen im Indesign Antworten mit Zitat

Tach zusammen.
Folgendes Problem:
Um ein vorhandenes Prospekt-Layout zu vermaßen muß ich heute das Format jeden einzelnen Rahmens (Text und Bild) anklicken und die Maße und Position (x/y) ablesen und notieren.(bei 32 Seiten mit ungefähr 500 Rahmen eine Arbeit die mich etwas lethargisch werden läßt Smile)
Schön wäre ein AS welches mir alle Rahmen findet und die Vermassung und Position in jeden Rahmen hineinschreiben würde bzw. über den vorhandenen Rahmen einen undurchsitigen Textrahmen legt in dem es die Vermaßung und Positionsdaten dann als Text ablegt.
Ob das jetzt verständlich ausgedrückt war??

Habe heute zum ersten Mal auf Eurer Seite gewühlt...und bin fasziniert.

Vielleicht kann mir ja jemand bei meinem aktiongeladenen (gäähn) Rahmendokumentationsproblem Smile weiterhelfen

Es grüßt euch das
Telefon112
_________________
Keiner ist so blöd wie ich...nur die meisten..grins..Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PI
•-->
•-->


Anmeldedatum: 23.02.2005
Beiträge: 89
Wohnort: 89567 Sontheim / Brenz

BeitragVerfasst am: 15.11.2005 - 14:26    Titel: Antworten mit Zitat

hi 112,

> Um ein vorhandenes Prospekt-Layout zu....

ragTime ??
_________________
hossa, PI [mini 1.83GHz intel Core Duo OS10.4.11]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PI
•-->
•-->


Anmeldedatum: 23.02.2005
Beiträge: 89
Wohnort: 89567 Sontheim / Brenz

BeitragVerfasst am: 15.11.2005 - 14:39    Titel: Antworten mit Zitat

hi 112,
vergiss meine frage wieder,
ich habe mich aufklaeren lassen,
dass 'indesign' ein programm ist...
_________________
hossa, PI [mini 1.83GHz intel Core Duo OS10.4.11]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
hweber
•--->
•--->


Anmeldedatum: 01.02.2004
Beiträge: 397

BeitragVerfasst am: 15.11.2005 - 14:54    Titel: Antworten mit Zitat

Hallo Telefon,

zum besseren Verständnis: Um das scripten zu können muß man Dein Indesign haben. Und da das nicht grad billig ist, schränkt das die Zahl der Leute ein, die Dir helfen könnten.
Mit etwas Glück und Geduld meldet sich vielleicht jemand, der Indesign scriptet.

h
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 15.11.2005 - 14:58    Titel: Antworten mit Zitat

hweber hat Folgendes geschrieben:
Indesign scriptet. ..
und der steht auch schon ante portas:
Name : FOLKER
Qualifikation: Kanone
Beweis:
http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=1581
hab ich gedient?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Telefon112
•->
•->


Anmeldedatum: 15.11.2005
Beiträge: 6

BeitragVerfasst am: 15.11.2005 - 15:39    Titel: Antworten mit Zitat

Hallo spirigwi.

Etwas schwierig den Sinn Deiner Antwort zu ergründen. Aber wenn ich das richtig sehe, empfiehlst du mir Folker als Ansprechpartner für mein Problem.
Ach ja, deine Frage "Hab ich gedient"...da sach ich mal das weißt nur du..grins. weitergeholfen hast du mir aber sicher. Danke nochmal.

Telefon112
_________________
Keiner ist so blöd wie ich...nur die meisten..grins..Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 15.11.2005 - 16:39    Titel: Antworten mit Zitat

Hallo,

tja, wie immer, ohne genaue Kenntnis usw. - ob das dann auch leserlich erscheint? Wie dem auch immer sei, ein einfaches Beispiel kann ja schon auf die Sprünge helfen - das dies beiweitem nicht alle mögl. Probleme abfängt sollte klar sein ...

tell application "InDesign CS"
   activate
   tell view preferences of document 1
      set properties to {horizontal measurement units:millimeters, vertical measurement units:millimeters, ruler origin:page origin}
   end tell
   tell document 1
      set thePageList to name of every page
      repeat with i in thePageList
         tell page i
            set temp to geometric bounds of properties of every text frame
            if class of item 1 of temp is not list then set temp to {temp}
            set theL to temp
            set temp to geometric bounds of properties of every rectangle
            if class of item 1 of temp is not list then set temp to {temp}
            set theL to theL & temp
            set temp to geometric bounds of properties of every oval
            if class of item 1 of temp is not list then set temp to {temp}
            set theL to theL & temp
            set x to length of theL
            repeat with k from 1 to x
               set temp to (item k of theL)
               set theContents to my get_textFromList(temp, " mm, ")
               make text frame with properties {geometric bounds:temp, contents:theContents}
            end repeat
         end tell
      end repeat
   end tell
end tell
tell me to activate
theL
on get_textFromList(temp, theDelim)
   set {oldDelims, AppleScript's text item delimiters} ¬
      to {AppleScript's text item delimiters, {theDelim}}
   set temp to (temp as string)
   set AppleScript's text item delimiters to oldDelims
   return temp
end get_textFromList

_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 15.11.2005 - 17:18    Titel: Antworten mit Zitat

Ok, Du brauchst natürlich einen weissen Hintergrund zum lesen Wink

Geht beispielhaft wie folgt, gleich mit "frischer" Farbe Smile

make color with properties {color value:{0.0, 0.0, 0.0, 0.0}, name:"Fuellweiss", label:"color1"}

obige Zeile direkt nach dem tell document 1 einfügen

und die Properties de text frames brauchen einen weiteren Property.

set theRef to make text frame with properties {geometric bounds:temp, contents:theContents, fill color:color "Fuellweiss" of theDoc}


Ich sehe gerade, da steht noch "theDoc", musst Du gegen document 1 tauschen! Oder Du schreibst das ganze Script um:

tell application "InDesign CS"
   activate
   set theDoc to a reference to document 1
   tell view preferences of theDoc
      set properties to {horizontal measurement units:millimeters, vertical measurement units:millimeters, ruler origin:page origin}
   end tell
   tell theDoc
      make color with properties {color value:{0.0, 0.0, 0.0, 0.0}, name:"Fuellweiss", label:"color1"}


usw...

und beziehst Dich dann auf theDoc ...
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Telefon112
•->
•->


Anmeldedatum: 15.11.2005
Beiträge: 6

BeitragVerfasst am: 15.11.2005 - 17:23    Titel: Antworten mit Zitat

Hallo Folker.

Das ging ja superschnell...allein: Es funktioniert (noch) nicht.
Fehlermeldung: Ungültiger Parameter (geometric bounds).

Du sagst es fehlen dir Infos...welcher, ich sag dir alles Smile

Telefon112
_________________
Keiner ist so blöd wie ich...nur die meisten..grins..Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 15.11.2005 - 18:21    Titel: Antworten mit Zitat

Welche InDesign Version? Ich habe hier 3.0x. In welcher Zeile wird der "ungültige Parameter" angemeckert? Ich kann das nicht nachvollziehen, in einem Testdokument (6 seiten) von mir funktioniert das perfekt.
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ccp
•-->
•-->


Anmeldedatum: 04.02.2004
Beiträge: 42

BeitragVerfasst am: 15.11.2005 - 19:09    Titel: Antworten mit Zitat

hallo Folker & Telefon112,

ich hab zwar nicht sonderlich viel ahnung, konnte aber für ID CS2 folgendes miteiner abgewandelten variante von Folkers script erfolgreich testen...vielleicht klappts ja auch bei euch...schönen gruß...claus

====================
tell application "Adobe InDesign CS2"
activate
tell view preferences of document 1
set properties to {horizontal measurement units:millimeters, vertical measurement units:millimeters, ruler origin:page origin}
end tell
tell document 1
set thePageList to every page
repeat with i in thePageList
tell i
try
set temp to geometric bounds of every text frame
if class of item 1 of temp is not list then set temp to {temp}
set theL to temp
end try
try
set temp to geometric bounds of every rectangle
if class of item 1 of temp is not list then set temp to {temp}
set theL to theL & temp
end try
try
set temp to geometric bounds of every oval
if class of item 1 of temp is not list then set temp to {temp}
set theL to theL & temp
end try
set x to length of theL
repeat with k from 1 to x
set temp to (item k of theL)
set theContents to my get_textFromList(temp, " mm, ")
make text frame with properties {geometric bounds:temp, contents:theContents}
end repeat
end tell
end repeat
end tell
end tell
--tell me to activate

theL
on get_textFromList(temp, theDelim)
set {oldDelims, AppleScript's text item delimiters} ¬
to {AppleScript's text item delimiters, {theDelim}}
set temp to (temp as string)
set AppleScript's text item delimiters to oldDelims
return temp
end get_textFromList
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Telefon112
•->
•->


Anmeldedatum: 15.11.2005
Beiträge: 6

BeitragVerfasst am: 16.11.2005 - 09:42    Titel: Hallo Klaus ...hallo ccp Antworten mit Zitat

Habe jetzt mal das abgewandelte AS von CCP genommen und bis auf ein paar Kleinigkeiten (außer für mich,da ich AS-Anfänger bin) läuft das AS.
Die Kleinigkeiten sind:
-Es gelingt mir nicht, den neu erstellten Textrahmen mit einer Farbe (am Besten Weiss) einzufärben. Ist nicht unwichtig, da viele der zu definierenden Rahmen ja dunkle Bilder enthalten.
-Die Ergebnisse aus dem "CCP"-Skript sind nicht ganz richtig (hab mich wohl falsch ausgedrückt?!).
Der X-Wert ist Y-Wert
Der Y-Wert ist X-Wert
Wert für die Breite ist y-Wert der unteren rechten Ecke
Wert für die Höhe ist x-Wert der unteren rechten Ecke

Erwartet hatte ich

Erster Wert = X-Position
Zweiter Wert = Y-Position
Dritter Wert = Breite des Rahmens
Vierter Wert = Höhe des Rahmens

Ich hoffe ich nerve euch nicht wenn ich frage: Kann man da noch was machen? javascript:emoticon('Rolling Eyes')

So sieht das AS jetzt aus:

tell application "InDesign CS"
activate
tell view preferences of document 1
set properties to {horizontal measurement units:millimeters, vertical measurement units:millimeters, ruler origin:page origin}
end tell
tell document 1
set thePageList to every page
repeat with i in thePageList
tell i
try
set temp to geometric bounds of every text frame
if class of item 1 of temp is not list then set temp to {temp}
set theL to temp
end try
try
set temp to geometric bounds of every rectangle
if class of item 1 of temp is not list then set temp to {temp}
set theL to theL & temp
end try
try
set temp to geometric bounds of every oval
if class of item 1 of temp is not list then set temp to {temp}
set theL to theL & temp
end try
set x to length of theL
repeat with k from 1 to x
set temp to (item k of theL)
set theContents to my get_textFromList(temp, " mm, ")
make text frame with properties {geometric bounds:temp, contents:theContents}
end repeat
end tell
end repeat
end tell
end tell
--tell me to activate

theL
on get_textFromList(temp, theDelim)
set {oldDelims, AppleScript's text item delimiters} ¬
to {AppleScript's text item delimiters, {theDelim}}
set temp to (temp as string)
set AppleScript's text item delimiters to oldDelims
return temp
end get_textFromList
_________________
Keiner ist so blöd wie ich...nur die meisten..grins..Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 16.11.2005 - 12:56    Titel: Antworten mit Zitat

Hallo,

wo das Problem mit meinem Script lag, kann ich leider noch immer nicht nachvollziehen Wink

Die Modifikationen des Scripts von ccp bestehen darin, dass er anstelle von 'name of page' (result: {"1", "2", ...} direkt eine Referenz auf page "1" zieht und innerhalb des repeat mit 'tell i' anstelle von 'tell page i' arbeitet- das kann aber nicht zu Deinem Problem geführt haben! 2. Punkt ist die try ... end try Geschichte - da erstaunt es mich schon, da die text frames, ovals und rectangles einfach über 'geometric bounds' verfügen müssen - wäre viel spannender herauszufinden wo es klemmt.

Die Farbe habe ich doch in meinem 2. Posting ergänzt? fill color wird auf ein selbst angelegtes "weiss" gesetzt.

Ok, ich habe der Einfachheit halber nur die Bounds geliefert - der Rest ist Mathematik und nicht so wirklich schwer zu lösen Wink Wobei - welche "Ecke" definieren wir als x/y - ID ist da ja flexibel ...?

Viel interessanter sind doch die Fragen, wie mit möglicherweise vorhandenen Rahmen und deren Ausdehnung umgegangen wird? Bei Images kommt es auch noch auf den Ausschnitt und eine mögliche Skalierung an?

Top, Left, Bottom, Right - in dieser Reihenfolge werden die geometric bounds angezeigt - wir einigen uns auf die obere linke Ecke:

set theContents to my get_textFromList({"x= " & item 2 of temp, "y= " & item 1 of temp, "B= " & ((item 4 of temp) - (item 2 of temp)), "H= " & ((item 3 of temp) - (item 1 of temp))}, " mm" & return)


PS: Ich habe ja auch z.B. keine "Groups" berücksichtigt - ein bisschen was sollst Du ja nun auch für Dein Geld ..
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Telefon112
•->
•->


Anmeldedatum: 15.11.2005
Beiträge: 6

BeitragVerfasst am: 16.11.2005 - 17:37    Titel: Hand an Hirn!!! Antworten mit Zitat

Hallo Folker.

"...ein bisschen was sollst Du ja nun auch für Dein Geld ."..
Würde ich ja gern (Versuche alles zu verstehen..Anfänger eben)

Das mit den Koordinaten hast du richtig erkannt. Nach dem ersten Probelauf passte alles. Was ich einfach nicht hinkrieg ist die Farbgebung bzw. wo ich die von dir geschriebenen Zeilen (make color with properties {color value:{0.0, 0.0, 0.0, 0.0}, name:"weiss", label:"color1"}) hinpacken soll. Schreibe ich sie eine Zeile nach dem "tell document 1" so erhalte ich die Fehlermeldung "Dieser Farbfeldname wird bereits verwendet.Wählen sie einen anderen"
Ich weiß, ich bin ein bisschen blöd ('Embarassed') aber ich beschäftige mich mit AS erst seit gestern!
Also, hilf einem alten Mann auf die Sprünge (du brauchst auch nicht mit Häme sparen ('Smile') )
Ach ja, die Groups werden auch nicht erkannt...mmmh..hattest du ja erwähnt (eines Tages begreife ich diese Art der Programmierung)
Also, genug geheult. Bis jetzt (incl. des Fehlers (siehe oben) sieht das Ding jetzt so aus:

tell application "InDesign CS"
activate
tell view preferences of document 1
set properties to {horizontal measurement units:millimeters, vertical measurement units:millimeters, ruler origin:page origin}
end tell
tell document 1
make color with properties {color value:{0.0, 0.0, 0.0, 0.0}, name:"weiss", label:"color1"}
set thePageList to every page
repeat with i in thePageList
tell i
try
set temp to geometric bounds of every text frame
if class of item 1 of temp is not list then set temp to {temp}
set theL to temp
end try
try
set temp to geometric bounds of every rectangle
if class of item 1 of temp is not list then set temp to {temp}
set theL to theL & temp
end try
try
set temp to geometric bounds of every oval
if class of item 1 of temp is not list then set temp to {temp}
set theL to theL & temp
end try
set x to length of theL
repeat with k from 1 to x
set temp to (item k of theL)
--et theContents to my get_textFromList(temp, " mm, ")
set theContents to my get_textFromList({"x= " & item 2 of temp, "y= " & item 1 of temp, "B= " & ((item 4 of temp) - (item 2 of temp)), "H= " & ((item 3 of temp) - (item 1 of temp))}, " mm" & return)
end repeat
end tell
end repeat
end tell
_________________
Keiner ist so blöd wie ich...nur die meisten..grins..Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 16.11.2005 - 17:59    Titel: Antworten mit Zitat

Hallo,

so, ich habe das nochmal zusammengestellt:

tell application "InDesign CS"
   activate
   set theDoc to a reference to document 1
   tell view preferences of theDoc
      set properties to {horizontal measurement units:millimeters, vertical measurement units:millimeters, ruler origin:page origin}
   end tell
   tell theDoc
      make color with properties {color value:{0.0, 0.0, 0.0, 0.0}, name:"Fuellweiss", label:"color1"}
      set thePageList to name of every page
      repeat with i in thePageList
         tell page i
            --try
            set temp to geometric bounds of properties of every text frame
            if class of item 1 of temp is not list then set temp to {temp}
            set theL to temp
            --end try
            --try
            set temp to geometric bounds of properties of every rectangle
            if class of item 1 of temp is not list then set temp to {temp}
            set theL to theL & temp
            --end try
            --try
            set temp to geometric bounds of properties of every oval
            if class of item 1 of temp is not list then set temp to {temp}
            set theL to theL & temp
            --end try
            set x to length of theL
            repeat with k from 1 to x
               set temp to (item k of theL)
               set theContents to (my get_textFromList({"x= " & item 2 of temp, "y= " & item 1 of temp, "B= " & ((item 4 of temp) - (item 2 of temp)), "H= " & ((item 3 of temp) - (item 1 of temp))}, " mm" & return) & " mm")
               set theRef to make text frame with properties {geometric bounds:temp, contents:theContents, fill color:color "Fuellweiss" of theDoc}
            end repeat
         end tell
      end repeat
   end tell
end tell
tell me to activate

on get_textFromList(temp, theDelim)
   set {oldDelims, AppleScript's text item delimiters} ¬
      to {AppleScript's text item delimiters, {theDelim}}
   set temp to (temp as string)
   set AppleScript's text item delimiters to oldDelims
   return temp
end get_textFromList


ACHTUNG: ich habe die try/end try Klammer um die geometric bounds Sammelgeschichte als Kommentar gesetzt - sollte es wieder zu Problemen kommen kann das rückgängig gemacht werden - allerdings wäre es spannender den Fehler zu finden Smile

Edit: Ach ja, die Groups - geht natürlich auch, wird allerdings um einiges aufwändiger - stellt sich immer die Frage nach der Notwendigkeit - bei 2-3 davon ist es überflüssig, bei 100 wird das schon interessant - wenn ich morgen zeit finde tüftel ich das mal aus ...
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter