[GastForen Programmierung/Entwicklung AppleScript Photoshop CS2/CS3 save for web options

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

Photoshop CS2/CS3 save for web options

Anonym
Beiträge gesamt: 22827

2. Apr 2008, 16:26
Beitrag # 1 von 8
Bewertung:
(2181 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich habe momentan ein paar Problemchen mit einem Script.
Ich lasse einen Haufen von Bildern per Photoshop umrechnen und exportiere Sie für's Web.
Hier das Snippet:

Code
set DesktopPath to path to desktop as Unicode text 
tell application "Adobe Photoshop CS3"
    activate
    set display dialogs to never
    set WebExportOptions to {class:save for web export options, web format:JPEG, quality:60}
   
    try
        set docRef to current document
        set docName to name of docRef
        set docBaseName to (docName as string)
        set AppleScript's text item delimiters to {"."}
        set Bildname to (text item 1 of docName)
       
        tell docRef
            export in file (DesktopPath & Bildname & ".jpg") as save for web with options WebExportOptions
        end tell
    end try
end tell


[b]1. Problem:
Leider wird bei Bildern mit einem Bildnamen+Suffix länger als 31 Zeichen der Rest abgeschnitten und für die letzten beiden Zeichen ein "#0" eingefügt, anstatt des ".jpg".
Ist es möglich dass der Original-Dateiname erhalten bleibt – oder wenigstens das korrekte Suffix angehängt wird???


[b]2. Problem:
Es sind auch Bilder zu verarbeiten, die sich im Bildnamen nur anhand des Suffixes unterscheiden. Also beispielsweise Bild.eps und Bild.psd.
Beim Ausführen des Scripts mit solchen Bildern fragt Photoshop per Dialogfenster nach "Dateien ersetzen" -> "Ersetzen" oder "Abbrechen".
Kann dieses PopUp-Fenster übergangen werden und die Datei automatisch ersetzt werden?


[b]3. Problem:
Das Script möchte ich gerne auch an einem anderen Rechner in Photoshop CS2 laufen lassen.
Dafür muss ich im Snippet laut Funktionsverzichnis von PS CS2 die WebExportOptions ändern in
Code
{class:save for web export options, as:JPEG, quality:60} 

Allerdings erhalte ich beim kompilieren einen Syntaxfehler: Es wurde „Variablenname, Klassenname oder Eigenschaft“ erwartet, aber ein „„as““ wurde gefunden.
Ich kann das Snippet dann auch nicht sichern.

Im Netz hab ich noch einen Woraround gefunden, der zwar das einmalige kompilieren ermöglicht, allerdings nicht das Speichern des Snippets:
Code
{class:save for web export options, «class fltp»:JPEG, quality:60} 



Weiß jemand Rat?
X

Photoshop CS2/CS3 save for web options

TMA
Beiträge gesamt: 399

3. Apr 2008, 05:46
Beitrag # 2 von 8
Beitrag ID: #422368
Bewertung:
(2180 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Thomas,

Problem 1:
Das ist leider nicht möglich. Web-Export ist auf 31 Zeichen begrenzt. Vorher den Namen merken und nachher über den Finder umbenennen.

Problem 2:
Auch das kann man beim Web-Export nicht umgehen. Über den Finder lösen.

Problem 3:
Kann ich grad nichts zu sagen, wir machen unseren Web-Export via Java-Code im Apple-Script. Da gab es keine Probleme beim Umstieg von CS2 nach CS3.

Mögliche Lösung für die ersten beiden Probleme:
Benutze einen temporären Zwischenordner wo immer nur eine Datei liegen kann.
Also Web-Export in diesen temp-Ordner, File ggf. per Finder umbenennen, dann per Finder in den richtigen Ordner kopieren/ersetzen, nächstes Bild.

Gruß
TMA


als Antwort auf: [#422367]

Photoshop CS2/CS3 save for web options

TMA
Beiträge gesamt: 399

3. Apr 2008, 05:54
Beitrag # 3 von 8
Beitrag ID: #422369
Bewertung:
(2180 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
nochmal zu Problem 2:
da dir die Zieldatei für den Web-Export ja bekannt ist, kannst du natürlich versuchen diese vorher per Finder zu löschen:
Code
set DesktopPath to path to desktop as Unicode text 
tell application "Adobe Photoshop CS3"
    activate
    set display dialogs to never
    set WebExportOptions to {class:save for web export options, web format:JPEG, quality:60}
   
    try
        set docRef to current document
        set docName to name of docRef
        set docBaseName to (docName as string)
        set AppleScript's text item delimiters to {"."}
        set Bildname to (text item 1 of docName)
       
        try
            tell application "Finder" to delete file (DesktopPath & Bildname & ".jpg")
        end try
       
        tell docRef
            export in file (DesktopPath & Bildname & ".jpg") as save for web with options WebExportOptions
        end tell
    end try
end tell


Gruß
TMA


als Antwort auf: [#422367]

Photoshop CS2/CS3 save for web options

Hans Haesler
  
Beiträge gesamt: 5826

3. Apr 2008, 06:00
Beitrag # 4 von 8
Beitrag ID: #422370
Bewertung:
(2180 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

eine Lösung des ersten Problems: Im Code einen Test einbauen, welcher die Länge des Namens prüft und diesen, falls notwendig, auf die ersten 27 Zeichen kürzt.
---
set Bildname to (text item 1 of docName)
if (count of Bildname) is greater than 27 then
   set Bildname to text 1 thru 27 of Bildname
end if
---

Übrigens 1: Mit der benutzten Methode gelingt das Ausziehen des kompletten Bildnamens nur, wenn die Namen keine Punkte aufweisen.

Übrigens 2: Die Variable 'docBaseName' wird nicht benutzt.

Gruss, Hans


als Antwort auf: [#422367]

Photoshop CS2/CS3 save for web options

Anonym
Beiträge gesamt: 22827

3. Apr 2008, 08:18
Beitrag # 5 von 8
Beitrag ID: #422371
Bewertung:
(2180 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jau, super.
Danke euch beiden!

Die beiden Schnipsel konnte ich doch perfekt gebrauchen.
Hab' sie schon "verwurstet"! ;)
Ich könnte auch die Dateien durch den Finder im Anschluss an den WebExport in den Original-Dateinamen umbenennen, allerdings lasse ich das zur Sicherheit und systemübergreifenden Kompatibilität lieber weg und verzichte auf den vollständigen Dateinamen.

Gibt es denn auch noch eine Lösung für das Problem des WebExports in CS2?


als Antwort auf: [#422367]

Photoshop CS2/CS3 save for web options

TMA
Beiträge gesamt: 399

3. Apr 2008, 08:30
Beitrag # 6 von 8
Beitrag ID: #422372
Bewertung:
(2180 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Thomas,
versuchs mal hiermit für CS2:
Code
tell application "Adobe Photoshop CS2" 
    tell front document
        set jpgQuali to 80
        set destinationFile to (DesktopPath & Bildname & ".jpg") as string
        do javascript "var id53 = charIDToTypeID( \"Expr\" ); var desc7 = new ActionDescriptor(); var id54 = charIDToTypeID( \"Usng\" );  var desc8 = new ActionDescriptor();  var id55 = charIDToTypeID( \"Op  \" );  var id56 = charIDToTypeID( \"SWOp\" );  var id57 = charIDToTypeID( \"OpSa\" );  desc8.putEnumerated( id55, id56, id57 );  var id58 = charIDToTypeID( \"Fmt \" );  var id59 = charIDToTypeID( \"IRFm\" );  var id60 = charIDToTypeID( \"JPEG\" );  desc8.putEnumerated( id58, id59, id60 );  var id61 = charIDToTypeID( \"Intr\" );  desc8.putBoolean( id61, false );  var id62 = charIDToTypeID( \"Qlty\" );  desc8.putInteger( id62, " & jpgQuali & " );  var id63 = charIDToTypeID( \"QChS\" );  desc8.putInteger( id63, 0 );  var id64 = charIDToTypeID( \"QCUI\" );  desc8.putInteger( id64, 0 );  var id65 = charIDToTypeID( \"QChT\" );  desc8.putBoolean( id65, false );  var id66 = charIDToTypeID( \"QChV\" );  desc8.putBoolean( id66, false );  var id67 = charIDToTypeID( \"Optm\" );  desc8.putBoolean( id67, true );  var id68 = charIDToTypeID( \"Pass\" );  desc8.putInteger( id68, 1 );  var id69 = charIDToTypeID( \"blur\" );  desc8.putDouble( id69, 0.000000 );  var id70 = charIDToTypeID( \"EICC\" );  desc8.putBoolean( id70, false );  var id71 = charIDToTypeID( \"Mtt \" );  desc8.putBoolean( id71, true );  var id72 = charIDToTypeID( \"MttR\" );  desc8.putInteger( id72, 255 );  var id73 = charIDToTypeID( \"MttG\" );  desc8.putInteger( id73, 255 );  var id74 = charIDToTypeID( \"MttB\" );  desc8.putInteger( id74, 255 );  var id75 = charIDToTypeID( \"SHTM\" );  desc8.putBoolean( id75, false );  var id76 = charIDToTypeID( \"SImg\" );  desc8.putBoolean( id76, true );  var id77 = charIDToTypeID( \"SSSO\" );  desc8.putBoolean( id77, false );  var id78 = charIDToTypeID( \"SSLt\" );var list2 = new ActionList();  desc8.putList( id78, list2 );  var id79 = charIDToTypeID( \"DIDr\" );  desc8.putBoolean( id79, false );  var id80 = charIDToTypeID( \"In  \" );  desc8.putPath( id80, new File( \"" & destinationFile & "\" ) ); var id81 = stringIDToTypeID( \"SaveForWeb\" ); desc7.putObject( id54, id81, desc8 );executeAction( id53, desc7, DialogModes.NO );"
    end tell
end tell


Gruß
TMA


als Antwort auf: [#422367]

Photoshop CS2/CS3 save for web options

Anonym
Beiträge gesamt: 22827

3. Apr 2008, 11:29
Beitrag # 7 von 8
Beitrag ID: #422373
Bewertung:
(2180 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@ TMA
Besten Dank! Funktioniert tadellos.
Allerdings ist mir javascript echt ein böhmisches Dorf. Da ist ja nix mehr selbsterklärend....


als Antwort auf: [#422367]

Photoshop CS2/CS3 save for web options

TMA
Beiträge gesamt: 399

3. Apr 2008, 11:36
Beitrag # 8 von 8
Beitrag ID: #422374
Bewertung:
(2180 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Thomas,
es gibt das "Scripting Listener"-plugin. Ist bei Photoshop dabei. Der zeichnet alle Aktionen als Java-Aktionen auf. Diese kann man dann auch mit einer kleinen modifizierung aus AppleScript laufen lassen.

Das Thema müsste hier im Forum schon mal behandelt worden sein.

Gruß
TMA


als Antwort auf: [#422367]
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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. 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 / Horizon

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

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 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

Nein

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!