[GastForen Programmierung/Entwicklung AppleScript IPTC-Kern mit AppleScript füllen ???

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

IPTC-Kern mit AppleScript füllen ???

macjarek
Beiträge gesamt: 5

1. Dez 2010, 14:41
Beitrag # 1 von 13
Bewertung:
(8448 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo PowerScripter,
ich habe ein kleine Problemchen…
Ich soll bei über 1000 Bildern den IPTC-Kern füllen, und wenn ich daran denke werde ich blass :)
Darum suche ich nach einem kleinen Helferlein.

Folgendes soll über das Script automatisch erledigt werde:

Zu den bereits vorhandenen Informationen im IPTC-Kern sollen folgende Informationen hinzugefügt werden:
-> Aus den Dateieigenschaften:
"Dateigröße";"Abmessungen (in cm)";"Auflösung";"Farbmodus"
sollten in das Feld z.B.: "Stichwörter" zusätzlich hinzugefügt werden.

Ich bitte Euch um Hilfe,
vielleicht hat gibt es eine bessere Lösung, z.B. über Adobe Bridge.

Ich danke Euch jetzt schon und Grüße

macjarek
X

IPTC-Kern mit AppleScript füllen ???

Hans Haesler
  
Beiträge gesamt: 5822

1. Dez 2010, 15:13
Beitrag # 2 von 13
Beitrag ID: #458529
Bewertung:
(8440 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo macjarek,

herzlich willkommen auf HDS! :-)

Ich vermute, dass diese Aufgabe nicht mit AppleScript alleine gelöst werden kann. Wie würdest Du manuell vorgehen?

Die Dateigrösse? Kein Problem. Aber die Abmessungen?

Welches Datei-Format haben diese Bilder? Welches Mac OS ist vorhanden?

Wenn Du mir eine Musterdatei zustellst, dann werde ich versuchen, eine Lösung zu finden. Aber vielleicht weiss ein Mitleser Rat.

Gruss, Hans


als Antwort auf: [#458517]

IPTC-Kern mit AppleScript füllen ???

macjarek
Beiträge gesamt: 5

1. Dez 2010, 15:39
Beitrag # 3 von 13
Beitrag ID: #458536
Bewertung:
(8436 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
vielen Dank für Deine schnelle Antwort.
Wowwww geht das schnell, bin begeistert :)
Hier ein paar schnelle Antworten:
-> MacOS 10.6.5
-> Alle Bilder sind Tif´s
Bis jetzt habe ich die Infos über Vorlagen im Adobe Bridge auf
ganze Ordner angewendet.
Nur die besagten
"Dateigröße";"Abmessungen (in cm)";"Auflösung";"Farbmodus" muss ich noch einsetze.
Ich habe gerade versucht ein Datei anzuhängen…
… bin auch angemeldet … "Anhang speichern sehe" ich nicht …
uhhh ist das peinlich … gibt es einen anderen Weg Dir das Bild zukommen zu lasse.

-> doppelt peinlich, jetzt habe ich es auch gelesen, spenden :)

Nochmal vielen DANK

topolino


als Antwort auf: [#458529]
(Dieser Beitrag wurde von macjarek am 1. Dez 2010, 15:45 geändert)

IPTC-Kern mit AppleScript füllen ???

Hans Haesler
  
Beiträge gesamt: 5822

1. Dez 2010, 15:51
Beitrag # 4 von 13
Beitrag ID: #458538
Bewertung:
(8415 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo topolino,

bitteschön.

Ja, eine Spende ans Forum ist immer willkommen.

Aber zunächst gibt es eine andere Möglichkeit: Wenn Du eingeloggt bist, dann klicke bitte auf meinen unterstrichenen Benutzer-Namen (im grauen Feld, linkerhand dieser Antwort). So gelangst Du in mein Profil. Und dort findest Du meine E-Mail-Adresse.

Gruss, Hans


als Antwort auf: [#458536]

IPTC-Kern mit AppleScript füllen ???

Hans Haesler
  
Beiträge gesamt: 5822

1. Dez 2010, 16:39
Beitrag # 5 von 13
Beitrag ID: #458545
Bewertung:
(8400 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jaroslaw,

super, Deine Spende. Vorbildlich. Und rekordverdächtig (kaum angemeldet - schon gespendet :-)!

Danke für die Beispiel-Datei. Ich werde mir heute im Laufe des Abends die Sache näher ansehen. Und vielleicht meldet sich einer, der sich damit auskennt.

Gruss, Hans


als Antwort auf: [#458538]

IPTC-Kern mit AppleScript füllen ???

-hans-
Beiträge gesamt: 748

1. Dez 2010, 23:36
Beitrag # 6 von 13
Beitrag ID: #458592
Bewertung:
(8362 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

das gute alte Exiftool kann Exif-Daten lesen und schreiben. Es ist ein Commandline-tool. Download: http://owl.phy.queensu.ca/~phil/exiftool/

Da ich nicht genau weiss, was Deine Bilder an Exif-Daten enthalten versuche ich mal alles zu laden und die Angaben dann zu filtern. Schau mal ob diese Version für eine zu wählende Datei für Dich funktioniert ... dann könnte man ein Droplet o.ä. daraus machen ...

cu

Hans

Code
global counter 
global theList

set counter to 1
set tid to AppleScript's text item delimiters

set TheFile to choose file
set theExifData to paragraphs of (do shell script "exiftool -a -u -g1 " & quoted form of POSIX path of TheFile)
set theSearchItemsList to {"Size", "Width", "Height", "X Resolution", "Color Components"}

set theList to {}
my doExifSearch(theExifData, theSearchItemsList)

on doExifSearch(theString, toSearchFor)
repeat with i from 1 to count of theString
if counter = 6 then
return theList
set AppleScript's text item delimiters to tid
exit repeat

end if
set ExifLine to item i of theString
set SearchItem to item counter of toSearchFor
if ExifLine contains SearchItem then
set AppleScript's text item delimiters to ": "
set thehit to text item -1 of ExifLine
copy thehit to end of theList
set counter to counter + 1
my doExifSearch(theString, toSearchFor)
end if
end repeat
end doExifSearch

--hardcoding
set Breite to (round 0.008464285714 * (item 2 of theList)) as text
set Hoehe to (round 0.008464285714 * (item 3 of theList)) as text

set stichwortliste to (item 1 of theList & ", " & "Bei 300 dpi: " & Breite & " x " & Hoehe & " cm" & ", " & "Aktuell: " & item 4 of theList & ", " & "DPI: " & item 5 of theList)

set oldkeywords to do shell script "exiftool -IPTC:Keywords " & quoted form of POSIX path of TheFile

set newkeywords to oldkeywords & ", " & stichwortliste

--IPTC ergaenzen / schreiben
do shell script "exiftool -IPTC:Keywords=" & quoted form of newkeywords & " " & quoted form of POSIX path of TheFile



als Antwort auf: [#458536]

IPTC-Kern mit AppleScript füllen ???

Hans Haesler
  
Beiträge gesamt: 5822

2. Dez 2010, 08:00
Beitrag # 7 von 13
Beitrag ID: #458603
Bewertung:
(8331 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo topolino,

ich habe mich gestern Abend nur kurz Deinem Problem widmen können.
Gut, dass nun der Hans-Gerd eine mögliche Lösung gepostet hat. :-)

Gruss, Hans


als Antwort auf: [#458592]

IPTC-Kern mit AppleScript füllen ???

TMA
Beiträge gesamt: 399

2. Dez 2010, 08:00
Beitrag # 8 von 13
Beitrag ID: #458604
Bewertung:
(8331 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Soweit ich mich erinnere, kann man die Stichwörter in Photoshop so hinzufügen:
Code
tell application "Adobe Photoshop" 
tell front document
set keywords of info to {"Farbraum", "Größe"}
end tell
end tell


Am besten mal probieren. Farbraum, Größe, Auflösung usw. musst du dir natürlich vorher holen bzw, berechnen.

Gruß
TMA


als Antwort auf: [#458592]

IPTC-Kern mit AppleScript füllen ???

macjarek
Beiträge gesamt: 5

2. Dez 2010, 09:25
Beitrag # 9 von 13
Beitrag ID: #458617
Bewertung:
(8304 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans-Gerd,
viele Dank für Diene Hilfe.
Ich habe mich an Deinem Script versucht…
Leider erhalte ich ein Fehler (siehe Anhang).
Ich habe auch ein Bsp. Bild angehängt damit Du sehen kannst welche Informationen sich schon IPTC-Kern befinden. Diese Infos sollten erhalten bleibe. Vielleicht könnten man die:
"Dateigröße";"Abmessungen (in cm)";"Auflösung";"Farbmodus"
z.B. in die Zeile "Jobkennung" o. "Anweisungen" schreiben.

… und noch eine Frage? Kann ich auch mehrere Bilder gleichzeitig bearbeiten.

Ich bedanke herzlich mich im voraus

Grüße

macjarek


als Antwort auf: [#458592]
Anhang:
Fehler.jpg (202 KB)   P_001_klein2.jpg (21.8 KB)

IPTC-Kern mit AppleScript füllen ???

-hans-
Beiträge gesamt: 748

2. Dez 2010, 10:54
Beitrag # 10 von 13
Beitrag ID: #458636
Bewertung:
(8288 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Macjarec,

die Datei hatte keine Infos zu "Color Components" (Angaben zum Modus). Meine Beispieldateien hatten die alle ...

Ich kann allerdings erst heute abend danach schauen ...

Natuerlich kann man mit Droplet oder Hotfolder arbeiten ...

Gruß

Hans


als Antwort auf: [#458617]

IPTC-Kern mit AppleScript füllen ???

macjarek
Beiträge gesamt: 5

2. Dez 2010, 10:57
Beitrag # 11 von 13
Beitrag ID: #458637
Bewertung:
(8287 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super ich freue mich auf heute Abend :)

Danke und Grüße


als Antwort auf: [#458636]

IPTC-Kern mit AppleScript füllen ???

-hans-
Beiträge gesamt: 748

2. Dez 2010, 16:41
Beitrag # 12 von 13
Beitrag ID: #458698
Bewertung:
(8248 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, also Deine Bilddatei bringt mir keinen Error¿!

Ich hab's mal als Droplet geändert. Ein Error bringt eine kurze Meldung und auf dem Desktop wird eine Error-log-Datei erzeugt. Die Werte werden in IPTC-Status -> Anweisung geschrieben ...

Als Programm sichern und als Droplet benutzen ...

Getestet unter 10.4.11 und PS CS2

Toi, toi, toi ;-)

Gruß

Hans
Code
global counter 
global theList

on open these_items
repeat with i from 1 to the count of these_items
set this_item to (item i of these_items)
set the item_info to info for this_item
if folder of the item_info is true then
process_folder(this_item)
else
process_item(this_item)
end if
end repeat

end open

on process_folder(this_folder)
set these_items to list folder this_folder without invisibles
repeat with i from 1 to the count of these_items
set this_item to alias ((this_folder as text) & (item i of these_items))
set the item_info to info for this_item
if folder of the item_info is true then
process_folder(this_item)
else
process_item(this_item)
end if
end repeat
end process_folder

on process_item(this_item)

set counter to 1
set tid to AppleScript's text item delimiters

set theExifData to paragraphs of (do shell script "exiftool -a -u -g1 " & quoted form of POSIX path of this_item)
set theSearchItemsList to {"Size", "Width", "Height", "X Resolution", "Color Components"}

set theList to {}
my doExifSearch(theExifData, theSearchItemsList)

try
set Breite to (round 0.008464285714 * (item 2 of theList)) as text
set Hoehe to (round 0.008464285714 * (item 3 of theList)) as text

set stichwortliste to (item 1 of theList & ", " & "Bei 300 dpi: " & Breite & " x " & Hoehe & " cm" & ", " & "dpi: " & item 4 of theList & ", " & "Kanaele: " & item 5 of theList)

--IPTC ergaenzen / schreiben
do shell script "exiftool -IPTC:SpecialInstructions=" & quoted form of stichwortliste & " " & quoted form of POSIX path of this_item
on error the error_message number the error_number
display dialog "Error: " & the error_number & ". " & the error_message giving up after 3
my write_error_log(this_item as text)
end try

end process_item

on doExifSearch(theString, toSearchFor)
repeat with i from 1 to count of theString
if counter = 6 then
return theList
set AppleScript's text item delimiters to tid
exit repeat

end if
set ExifLine to item i of theString
set SearchItem to item counter of toSearchFor
if ExifLine contains SearchItem then
set AppleScript's text item delimiters to ": "
set thehit to text item -1 of ExifLine
copy thehit to end of theList
set counter to counter + 1
my doExifSearch(theString, toSearchFor)
end if
end repeat
end doExifSearch

on write_error_log(this_error)
set the error_log to ((path to desktop) as text) & "Error.log"
try
open for access file the error_log with write permission
write (this_error & return) to file the error_log starting at eof
close access file the error_log
on error
try
close access file the error_log
end try
end try
end write_error_log



als Antwort auf: [#458637]

IPTC-Kern mit AppleScript füllen ???

macjarek
Beiträge gesamt: 5

3. Dez 2010, 13:06
Beitrag # 13 von 13
Beitrag ID: #458793
Bewertung:
(8213 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
vielen herzliche DANK,
ich werde am WE weiter basteln :)

Viele Grüße und ein schönes WE

macjarek


als Antwort auf: [#458698]
X