How can I convert multiple .jpg files to .eps files on Linux?
When using the ImageMagick's convert, it is a good practice to use the eps2 format. This make the resulting eps file much smaller because it uses the JPEG compression algorithm (DCT).
So, to convert a.jpg
to a.eps
do:
convert a.jpg eps2:a.eps
This of course, can be used in a shell script, to convert multiple JPG to EPS.
mogrify
command instead of convert for multiple files. mogrify -format eps3 *.png
–
Osculum You can use many tools. I recommend using convert
command from ImageMagick.
#!/bin/bash
# example 1
convert myfile.jpg myfile.eps
# example 2
for file in file1.jpg file2.jpg file3.jpg; do
echo convert "$file" $(echo "$file" | sed 's/\.jpg$/\.eps/')
done
To make example 2 run you need to remove the echo
inside the for
-loop. Make sure the commands it outputs are correct before removing it.
According to user1958943, I used the convert tool as well. However, as the eps3 format gives an even better compression with similar quality as eps2, I suggest to use
convert a.jpg eps3:a.eps
By the way, this tool also works for png files (and also others) ...
Does anybody know which compression eps3 is using?
Another option is to combine jpegtopnm and pnmtops from the netpbm toolkit. This will however produce PS, not EPS.
for f in *.jpg
do
g=`echo "$f" | sed 's/\.jpg$/\.eps/'`
echo "$f -> $g" 1>&2
jpegtopnm $f | pnmtops > $g
done
pnmtops
instead of pnmtopng
. –
Kawai I do this often and sometimes on Windows. Hence, I wrote a small online converter which uses convert:
Hope this can also help others.
© 2022 - 2024 — McMap. All rights reserved.
convert: unable to open image
pic.jpg': ��. @ error/blob.c/OpenBlob/2489.`convert: unable to open image
pic.jpg': @ error/blob.c/OpenBlob/2489.`convert: missing an image filename
eps2:pic.eps' @ error/convert.c/ConvertImageCommand/2940.` What should I do? – Sufferable