Created
December 12, 2012 01:05
-
-
Save matsen/4263955 to your computer and use it in GitHub Desktop.
A script to convert SVG to a TIFF acceptable to PLOS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Convert all arguments (assumed SVG) to a TIFF acceptable to PLOS | |
# Requires Inkscape and ImageMagick 6.8 (doesn't work with 6.6.9) | |
for i in $@; do | |
BN=$(basename $i .svg) | |
inkscape --without-gui --export-png="$BN.png" --export-dpi 300 $i | |
convert -compress LZW -alpha remove $BN.png $BN.tiff | |
mogrify -alpha off $BN.tiff | |
rm $BN.png | |
done |
To export only the drawing area, but pad it with 50 points of whitespace regardless of size replace mogrify command with:
mogrify -alpha off -gravity center -background white -extent $(identify -format '%[fx:W+50]x%[fx:H+50]' $BN.tiff) $BN.tiff
I'm in 2022 and it still works. Thanks to the creators of these little scripts.
Works great! Thanks @matsen
Thank you @matsen
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sometimes you need to alter the size of the image to meet PLOS requirements. The following script requires two argument. $1 = name of svg file, $2 = number of pixels wide. Also note that this script generates 600 dpi image for high resolution. PLOS accepts images in range 300 - 600 dpi.
svg2tiff abc pixels
#!/bin/bash
inkscape -o "$1.png" --export-width $2 --export-area-drawing $1.svg
convert -compress LZW -units PixelsPerInch -density 600 -alpha remove -trim $1.png $1.tif
mogrify -alpha off $1.tif
rm $1.png