Bilder mit TinyPNG komprimieren, automatisiert mit MacOS Automator
Ich benutze im Alltag oft TinyPNG um Bilder zu komprimieren. Das geht auch über die Webseite, aber ich wollte das gerne automatisieren, da ich oft am MacBook sitze, für einen Artikel - meistens die Webseite meines Vereins - Bilder komprimieren muss und das sehr repetitiv ist.
MacOS bietet dafür den Automator an, eine einfache Anwendung zur Erstellung von Automatisierungen. Einfach ist es wirklich, aber die Optionen sind manchmal sehr tiefgehend; ich glaube es gibt kaum etwas, was dieses Programm nicht kann.
TinyPNG API Key
Zuerst wird ein API Key für TinyPNG benötigt. Dieser ist erstmal kostenlos, ist auf 500 Bilder pro Monat limitiert. Ich brauche die Automation recht oft, aber 500 Kompressionen erreiche ich dann doch nicht.
Wie zu sehen, ist die Beantragung sehr einfach, nur Name und eine E-Mail Adresse wird benötigt.
Nach dem Bestätigen des Links in der E-Mail ist der API Key sofort verfügbar. Dort gibt es auch eine Übersicht über die Nutzung.
Automator starten
Automator ist ein vorinstalliertes Programm, zu finden in den Dienstprogrammen. Dort erstmal einen neuen Workflow erstellen und in der Bibliothek nach Shell-Skript ausführen suchen.
Shell-Skript einfügen
Jetzt kann im rechten Teil des Automators das Skript eingefügt werden, zunächst aber einige Grundeinstellungen. Hier wird eingestellt, dass dieses Skript nur Bilddateien aus dem Finder annimmt. Dann kann noch ein Icon und eine Farbe ausgewählt werden.
Bei dem Skript bitte die Shell auf /bin/zsh
stellen und Eingabe auf als Argumente.
|
|
Einfach den Code in den Automator kopieren, den API Key eintragen und das Skript speichern.
Erklärung des Skripts
Das Skript ist in Bash geschrieben und benutzt die TinyPNG API um Bilder zu komprimieren. Es wird zuerst eine Funktion tinypng
definiert, die den Dateinamen, das Verzeichnis und die Dateiendung extrahiert und dann das Bild über die API komprimiert. Dann wird eine Schleife definiert, die alle Dateien im Finder ausliest und dann die Funktion tinypng
aufruft. Am Ende wird noch ein Sound abgespielt, um zu signalisieren, dass der Vorgang abgeschlossen ist.
Mögliche Anpassungen wären z.B. das Ändern oder Entfernen des Sounds sowie das Anpassen des Zieldateinamens in Zeile 9. Bei mir wird der Name einfach mit dem Suffix _compressed
versehen.
Automator Workflow testen
Jetzt kann der Workflow getestet werden, dazu einfach ein Bild auswählen, Rechtsklick und unter Schnellaktionen den Workflow auswählen.