{{tag> brouillon Bionic Focal graphisme bash tutoriel console script}}
----
{{:inkscape_logo.png?80|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|Inkscape]] en [[tutoriel/console_ligne_de_commande|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éralement((certaines fonctions avancées d'AI peuvent rendre la conversion impossible ou partielle)) 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-page// -> //Exporter 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é utilisateur//((en https://wiki.inkscape.org/wiki/index.php/Units_In_Inkscape et https://www.w3.org/TR/SVG/coords.html#Units )).
Si vous avez toute une liste de fichiers, un [[:tutoriel/script_shell|script]] est préférable :
#!/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 : [[utilisateurs:bcag2]]//.