, , , , , , ,

Logo de Inkscape

Inkscape en ligne de commande

Si vous avez besoin d'automatiser des modifications de dessins, de schémas, de retoucher par lot des fichiers, il peut-être utile d'utiliser Inkscape en ligne de commande.

Cela est possible depuis la version 0.92.x mais il est évidemment préconisé de disposer d'une version récente (via snap ou flatpak par exemple). Pour le savoir, vous pouvez commencer par exécuter:

inkscape --version

La page de référence sur ce sujet est (en anglais): https://wiki.inkscape.org/wiki/index.php/Using_the_Command_Line

Une des première commande suggérée, outre

inkscape --help

est de liste les actions (précédemment nommées verbs) avec

inkscape --action-list

qui, vu la longueur du retour est mieux de rediriger dans un fichier :

inkscape --action-list > inkscape-cli-actions-list
# afin de le lire avec votre éditeur préféré, par exemple vim
vi inkscape-cli-actions-list

afin d'y faire des recherches.

comment appliquer les commandes qui ont besoins de paramètres… https://inkscape.org/forums/beyond/command-line-question/?c=23239#c23239 et https://graphicdesign.stackexchange.com/questions/155510/inkscape-in-cli-fitcanvastodrawing-with-margin-parameters

Conversion fichier adobe illustrator en svg

Si vous avez des fichiers qui ont été générés avec Adobe Illustrator (.ai), il est généralement1) possible de les convertir en fichier SVG.
Pour un seul fichier :

inkscape monFichier.ai --export-area-drawing --export-margin 20 -o monFichier.svg

L'option –export-area-drawing, comme le précise l'aide, permet d'Exporter le dessin entier (pas la zone de travail), ce qui évite de conserver une éventuelle zone blanche importante tout autour si on utilise l'option –export-area-pageExporter la page ou autre option d'export, mais une marge étant généralement appréciable, on utilise aussi l'option –export-margin 20 ou 20 (évidemment ajustable) est exprimé en unité utilisateur2).

Si vous avez toute une liste de fichiers, un script est préférable :

bin/convertir-ai-vers-svg.sh
#!/bin/sh
for ai_file in *.ai; do
	svg_file=$(echo $ai_file | sed 's/\.ai$/.svg/');
	inkscape $ai_file --export-area-drawing --export-margin 20 -o $svg_file
done

Contributeurs : bcag2.

1)
certaines fonctions avancées d'AI peuvent rendre la conversion impossible ou partielle