12096 links
3050 private links
  • Signets de talou
  • Home
  • Login
  • RSS Feed
  • ATOM Feed
  • Tag cloud
  • Picture wall
  • Daily
  • ► Play Videos
Links per page: 20 50 100
  • Scripts Nautilus/Caja : Convertir des svg en images avec inkscape

    Explications ici : http://shaarli.plop.me/?0wJ_Pg
    Les scripts sont dans la catégorie #NautilusCajaScripts


    Inkscape est un logiciel de dessin vectoriel extrêmement puissant et simple qui remplace avantageusement (selon moi) Illustrator.
    On peut l'invoquer en ligne de commande pour effectuer certaines tâches, comme par exemple l'export vers une image ou l'enregistrement dans divers formats.
    Pour ce qui est de l'export, il ne connait que le PNG, qu'à cela ne tienne, on peut se servir de imagemagick pour les autres formats d'image.
    A noter que transformer un fichier SVG directement en un autre format avec imagemagick ne donnera pas du tout le même résultat. En effet, certaines subtilités du format ne sont pas forcément détectées par imagemagick.
    Il est donc préférable de se servir de Inkscape pour travailler avec le format SVG.
    Par ailleurs la transformation en PDF est bien plus intéressante avec Inkscape qu'avec imagemagick, en effet ce dernier rasterise l'image (convertir le vectoriel en bitmap) avant d'en faire un PDF, contrairement à Inkscape qui génère un PDF avec les éléments séparés, textes, images, éléments vectoriels... Le poids du fichier, ainsi que la qualité à l'impression peuvent s'en ressentir.

    J'ai besoin le plus souvent de 3 formats de destination : PNG, JPG et PDF.

    Voici le script pour convertir un SVG en PNG : inkscape_to_png

    #!/bin/bash
    
    scriptname=`basename $0`
    # Determine wave type to convert to based on the name of the script
    newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
    logfile=`mktemp -t $script_name.XXXXXX`
    
    tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
    for svg in "$@"; do
        oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
        if [ $oldext != "svg" ]
        then 
            echo "Not a svg file"  >> $logfile
            continue
        fi
        # Determine target svg name
        target=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
        if [ -f "$target" ] 
        then 
            echo "File exists"  >> $logfile
            continue
        fi
        datefile=`date -r "$svg" +%Y%m%d%H%M`
        echo "$svg -> $target" >> $logfile
        inkscape -f "$svg" -d 90 -e "$target"
        touch -t $datefile "$target"
    done
    
    echo done >> $logfile
    rm -f $logfile

    Voici le script pour convertir un SVG en JPEG : inkscape_to_jpg

    #!/bin/bash
    
    scriptname=`basename $0`
    # Determine wave type to convert to based on the name of the script
    newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
    logfile=`mktemp -t $script_name.XXXXXX`
    
    tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
    for svg in "$@"; do
        oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
        if [ $oldext != "svg" && $oldext != "pdf" ]
        then
            echo "Not a svg file"  >> $logfile
            continue
        fi
        # Determine target svg name
        target=dac
    
        target2=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
        if [ -f "$target" ]
        then
            echo "File $target exists"  >> $logfile
            continue
        fi
        if [ -f "$target2" ]
        then
            echo "File $target2 exists"  >> $logfile
            continue
        fi
        datefile=`date -r "$svg" +%Y%m%d%H%M`
        echo "$svg -> $target" >> $logfile
        inkscape -f "$svg" -d 300 -e "$target"
        #~ touch -t $datefile "$target"
        touch "$target"
        echo "$target -> $target2" >> $logfile
        convert "$target" -quality 92 -density 90 -resample 150x150 -resize 850x710 "$target2"
        #~ touch -t $datefile "$target2"
        touch "$target2"
        rm "$target"
    done
    
    echo done >> $logfile
    rm -f $logfile

    Voici le script pour convertir un SVG en PDF : inkscape_to_pdf

    #!/bin/bash
    
    scriptname=`basename $0`
    # Determine wave type to convert to based on the name of the script
    newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
    logfile=`mktemp -t $script_name.XXXXXX`
    
    tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
    for svg in "$@"; do
        oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
        if [ $oldext != "svg" ]
        then 
            echo "Not a svg file"  >> $logfile
            continue
        fi
        # Determine target svg name
        target=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
        if [ -f "$target" ] 
        then 
            echo "File exists"  >> $logfile
            continue
        fi
        datefile=`date -r "$svg" +%Y%m%d%H%M`
        echo "$svg -> $target" >> $logfile
        inkscape -f "$svg" -d 90 -A "$target"
        touch -t $datefile "$target"
    done
    
    echo done >> $logfile
    rm -f $logfile
    March 24, 2020 at 12:08:34 PM GMT+1 * - permalink -
    QRCode
    - https://shaarli.plop.me/shaare/HijnqQ
    #NautilusCajaScripts
Links per page: 20 50 100
Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community - Help/documentation
talou sur le Fédiverse