[GastForen Programmierung/Entwicklung AppleScript Script Kopieren und Transformieren

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

Script Kopieren und Transformieren

pixelstaub
Beiträge gesamt: 125

20. Feb 2010, 13:17
Beitrag # 1 von 8
Bewertung:
(3256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Liste,
ich habe (um meine Applescript-Kenntnisse mal ein wenig zu schulen) ein Script geschrieben, das von einem Ursprungsobjekt eine beliebige Anzahl Kopien erstellt (mit einstellbarer Rotation und Skalierung), ggf. Farb-, Füllmethoden- und Transparenzrandom auf die Kopien anwendet und (wenn gewünscht einen Pfadeffekt auf die Quelle anwendet). Das Script gibt es hier http://www.pixelstaub.de/..._transformieren.scpt.
Was mir aber noch etwas Kopfzerbrechen bereitet ist Folgendes:
Ich würde den Verzerrungsfilter gerne auch bei Text anwenden können (dieser müsste dafür per Skript in Pfade konvertiert werden), was auch folgendermaßen funktioniert

Code
tell application "Adobe InDesign CS4" 
activate
select page item "ziel" of active document
set frameType to content type of page item "ziel" of active document
get frameType
if frameType is text type then
create outlines of selection
end if
end tell


Wie aber schaffe ich es, dass dieses Outline-Objekt nun wieder den Scriptbezeichner "ziel" hat?

Danke schon jetzt und beste Grüße
Stephan

(Dieser Beitrag wurde von pixelstaub am 20. Feb 2010, 13:18 geändert)
X

Script Kopieren und Transformieren

Hans Haesler
  
Beiträge gesamt: 5818

20. Feb 2010, 18:22
Beitrag # 2 von 8
Beitrag ID: #434239
Bewertung:
(3229 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

es ist nicht notwendig, den Textrahmen per Script auszuwählen. So geht es auch:

Code
tell document 1 of application "Adobe InDesign CS4" 
activate
tell page item "ziel"
if content type is text type then
create outlines
end if
end tell
end tell

Um dem Ergebnis erneut den Namen "ziel" zuzuweisen gibt es zwei Möglichkeiten. Entweder ...

Code
tell document 1 of application "Adobe InDesign CS4" 
activate
set okay to false
tell page item "ziel"
if content type is text type then
try
create outlines
set okay to true
end try
end if
end tell
if okay then
set label of page item -1 to "ziel"
end if
end tell

... oder eine Variablen benutzen, damit die Polygon-Gruppe auswählen und dann benennen.

Code
tell document 1 of application "Adobe InDesign CS4" 
activate
set okay to false
tell page item "ziel"
if content type is text type then
try
set newFrame to create outlines
set okay to true
end try
end if
end tell
if okay then
select newFrame
set label of selection to "ziel"
end if
end tell

Gruss, Hans


als Antwort auf: [#434213]

Script Kopieren und Transformieren

Dirk Becker
Beiträge gesamt: 181

21. Feb 2010, 11:43
Beitrag # 3 von 8
Beitrag ID: #434270
Bewertung:
(3195 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

wie Hans schon angesprochen hat, sollte man beim Scripten die Selektion möglichst umgehen, wenn man nicht darüber mit dem Benutzer kommuniziert.

Ausserdem vermeide ich gern verschachteltes "tell", weil man dann Code besser mit Copy/Paste übernehmen kann. Unter JS hat das entsprechende "with" auch Geschwindigkeitsnachteile.
Im konkreten Fall kommt dazu, dass das Zielobjekt des tell verschwindet/ersetzt wird.

Den zweite Ansatz von Hans habe ich auch gewählt - create outlines gibt das Resultat zurück. Dabei muss man aber beachten, dass ein Array / eine Liste entsteht, deswegen wohl auch der Umweg über die Selektion. Hier kann man besser das erste und einzige Objekt des Resultats ansprechen.

Dirk

Code
tell application "Adobe InDesign CS4" 
activate
set ziel to page item "ziel" of active document
if content type of ziel is text type then
set ziel to first item of (create outlines of ziel)
set label of ziel to "ziel"
end if
end tell



als Antwort auf: [#434239]

Script Kopieren und Transformieren

pixelstaub
Beiträge gesamt: 125

22. Feb 2010, 13:07
Beitrag # 4 von 8
Beitrag ID: #434380
Bewertung:
(3151 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans, hallo Dirk,

vielen Dank Euch beiden

und Grüße
Stephan


als Antwort auf: [#434270]

Script Kopieren und Transformieren

pixelstaub
Beiträge gesamt: 125

2. Mär 2010, 12:55
Beitrag # 5 von 8
Beitrag ID: #435159
Bewertung:
(3062 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Liste,
ich habe obiges Script weiterentwickelt http://www.pixelstaub.de/copyandtranform.scpt, aber noch eine Frage dazu. Wenn kein Dokument geöffnet ist, bzw. nichts selektiert, wird ja eine Fehlermeldung mit icon angezeigt.
Kann ich im Hauptdialog (make dialog-Teil) ebenfalls ein icon einbinden und wenn ja, wie?
Danke Euch schon jetzt!
Stephan


als Antwort auf: [#434380]

Script Kopieren und Transformieren

Hans Haesler
  
Beiträge gesamt: 5818

8. Mär 2010, 10:25
Beitrag # 6 von 8
Beitrag ID: #435623
Bewertung:
(2987 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

ich habe Dein Script heruntergeladen und kurz ausprobiert.

Zu Deiner Frage: Es ist möglich, im Dialog ein Icon einzubinden. Zwei Möglichkeiten:

1. AppleScript
Den Dialog mit Pashua bauen. Pashua ist ein Hilfsprogramm, mit welchem ein Dialog angezeigt und dessen Ergebnis ausgewertet werden kann. Erhältlich bei Carsten Blüm: http://www.bluem.net/en/mac/pashua/

2. JavaScript
Dein AppleScript in ein JavaScript portieren und den Dialog mit dem ab CS3 verfügbaren ScriptUI bauen.

Gruss, Hans


als Antwort auf: [#435159]

Script Kopieren und Transformieren

pixelstaub
Beiträge gesamt: 125

8. Mär 2010, 17:30
Beitrag # 7 von 8
Beitrag ID: #435691
Bewertung:
(2960 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ui, das sieht beides nicht nach "mal schnell ein Bild reinmachen" aus *gulp*
Dennoch danke für den Tipp – ich werd’s wohl mal mit Pashua versuchen.

Grüße
Stephan


als Antwort auf: [#435623]

Script Kopieren und Transformieren

Hans Haesler
  
Beiträge gesamt: 5818

8. Mär 2010, 23:34
Beitrag # 8 von 8
Beitrag ID: #435712
Bewertung:
(2925 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

ja, Du hast es erfasst: Das ist nicht so auf die Schnelle machbar.

Ein Muster für den Aufbau eines Pashua-Dialoges und die Auswertung des Ergebnisses findest Du im AppleScript SchriftenTausch.

http://www.fachhefte.ch / Link "AppleScripts", Ordner "mac_os_x_d", "tiger", "indesign_cs3".

In diesem Script werden zwar nebst etwas Static text "nur" lokale Menüs und eine Checkbox verwendet. Aber das AppleScript-Beispiel, welches Pashua beiliegt, wird Dir zeigen, wie Textfelder codiert werden.

Gruss, Hans


als Antwort auf: [#435691]
X

Aktuell

Web / SEO / Blockchain / Betriebssystem
unsplash_300

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/