Schlagwort-Archive: imagemagick

PDF nach JPG und zurück

PDFs putzen ist oft heikel, weil bei der Arbeit mit Acrobat oft nur ein neuer Layer über den Teil gelegt wird, den man hatte löschen wollen. Mit etwas Geschick kommen die „verborgenen“ Daten wieder zum vorschein.

Die Konvertierung nach JPG und das Löschen mit der Bildbearbeitung liefert 100%ige Ergebnisse. Bei diesem Verfahren ist das Ergebnis nicht nur sauber, sondern rein. Jedoch: convert exportiert PDFs in einer Auflösung, dass es einem die Schuhe auszieht.

So geht’s besser:

convert -density 1200 input.pdf input.jpg

Dabei entstehen zwar monsterdicke JPGs – die man in GIMP wieder auf eine ordentliche Größe bringen sollte, soll das Endprodukt nicht zu dick werden.

Mit

convert input_0.jpg input_1.jpg output.pdf

schiebt man die Bilder wieder in ein neues PDF.

Bilder konvertieren und Aufnahmezeitpunkt erhalten

Erster Schritt – die Konvertierung der Bilder:

for i in $(ls *.JPG) ; do convert $i -resize 800 conv_$i.jpg ; done

Zweiter Schritt: Installation von jhead

sudo apt-get install jhead

Dritter Schritt: Die in den EXIF Daten gespeicherten Informationen wieder in die Bilddateien schreiben:

for i in $(ls *.jpg) ; do jhead -ft $i ; done

Inkscape CLI

Iconsets unter GPL sind eine wahre Freude. Leider werden die Icons jedoch selten in den Größen geliefert, die ich für die Nutzung auf Webseiten benötige. Also muss ich mir die Knöpfe hier selbst backen.

In einem ersten Schritt suche ich mir in den herunter geladenen Iconsets die SVG Dateien und kopiere mir diese in einen Ordner auf dem Desktop:

find /home/dirk/Bilder/Icons -name „*.svg“ -exec cp {} /home/dirk/Desktop/icons/ \;

Da mir im Falle von SVGs die Konvertierung mit imagemagick in PNGs zu pfriemelig geriet, nutzte ich hier Inkscape auf der Shell:

for i in $(ls *.svg) ; do inkscape -f $i -e $i-60.png -h 60 ; done

Das läuft zwar wesentlich langsamer ab (pro SVG braucht Inkscape hier bis zu 10 Sekunden – und das auf einem Quadcore mit 8GB RAM), ist aber dafür viel viel schöner im Ergebnis und umgeht alle Probleme mit Transparenzen.

imagemagick rev

Hier hab ich noch Erfolg mit dem Befehl

for i in `ls *.png`; do convert $i -alpha off conv_$i; done

gehabt.

Wenn die Hintergrundfarbe allerdings nicht weiß, sondern schwarz erscheint, dann kann dem abgeholfen werden:

for i in $(ls *.png) ; do convert $i -background white -alpha background whitebg_$i ; done

Weitere Schalter sind hier zu finden:

http://www.imagemagick.org/script/command-line-options.php

imagemagick

Das Ausgangsbild war dieses hier:

Also erstens zu groß (angestrebt war eine Breite von 150 Pixeln), zweitens im falschen Format (png) und drittens auch noch zu dick, weil mehr als 10kb schwer.

for i in `ls *.png`; do convert $i -resize 150 conv_$i.jpg; done

Ergebnis:

Schwarze Ecken? Das war die Transparenz im PNG. Die musste nun weg und zwar in Richtung weiß.

for i in `ls *.png`; do convert $i -alpha off -resize 150 conv_$i.jpg; done

Ergebnis:

So stimmt’s.