Lignes de commandes --export-fxg | command line --export-fxg argument

Asked by BillyBobBaker on 2011-03-19

Ma question fait suite à l'apparition de la fonctionnalité de sauvegarde au format FXG (Adobe FXG), une initiative vraiment sympathique qui me permet aujourd'hui de fournir des avancées très rapides dans mes logiciels. Merci à l'auteur (et merci à Inkscape) !
Travail d'origine offrant la perspective de travail FXG : https://bugs.launchpad.net/inkscape/+bug/625140

Est-ce qu'il apparaîtrait possible d'effectuer un export FXG en passant par l'invite de commandes sous Windows ou MacOSX ?

Dans mon cas, je travaille avec le framework flex 4.5 et j'importe directement mes fichiers FXG dans mes fichiers Action Script 3. La complication réside dans l'incapacité à mes SWF de retrouver l'id d'un sous-ensemble dans un FXG, si bien que ce dernier en demeure figé. Aussi, je découpe mes FXG en différents fichiers afin de les manipuler indépendamment, ce procédé pourrait être automatisé au moyen de lignes de commandes, d'où ma question.

Voilà,
Merci à ceux qui s'intéresseront à ma question.

Question information

Language:
French Edit question
Status:
Solved
For:
Inkscape Edit question
Assignee:
No assignee Edit question
Solved by:
jazzynico
Solved:
2011-03-25
Last query:
2011-03-25
Last reply:
2011-03-21
Best jazzynico (jazzynico) said : #1

Bonjour,

Heureux que cette nouvelle fonctionnalité fait votre bonheur. Il s'agit d'un implémentation de base, mais déjà relativement fournie. Il reste encore des choses à faire, comme indiqué dans le rapport, mais il s'agit de fonctions particulièrement difficiles du fait des divergences entre les deux formats. On verra bien un peu plus tard !

En ce qui concerne la ligne de commande, il n'existe rien pour l'instant dans Inkscape qui permette un export. Seules les exportations les plus courantes (PDF, PS, PNG...) sont implémentées directement, et même si un verbe --verb=FileSaveAs existe, il n'est pas utilisable actuellement [1]. Ou alors, si, mais de façon semi-automatique, en utilisant la commande :
# inkscape dessin.svg --select=ID --verb=SelectionReverse --verb=EditDelete --verb=EditSelectAll --verb=FitCanvasToSelection --verb=FileSaveAs --verb=FileClose

Ce qui sélectionne l'objet (ou le groupe) correspondant à ID, supprime le reste du dessin et redimensionne l'espace de travail automatiquement, avant d'ouvrir une fenêtre pour sauvegarder le fichier (choisissez alors le format et la destination de votre choix) et de se fermer automatiquement après enregistrement. Ce n'est pas encore le plus pratique, mais ça peut éventuellement aider un peu.

Vous pouvez aussi utiliser un processeur XSLT [2] directement en lui fournissant le fichier XSL livré avec Inkscape (extensions/svg2fxg.xsl). C'est d'ailleurs la méthode utilisée pour tester l'extension lors de son développement (le script exécutant à la suite mxmlc), ce qui m'évitait d'avoir à ouvrir Inkscape à chaque fois. Mais cela ne vous permettra pas de manipuler les différents sous-ensembles (sauf à modifier le fichier XSL pour qu'il accepte des paramètres en entrée, mais ce n'est pas prévu actuellement...).

Bonne journée !

[1] https://bugs.launchpad.net/inkscape/+bug/361237
[2] xslproc, par exemple (http://xmlsoft.org/XSLT/xsltproc2.html) ; attention avec certains autres processeurs, comme Saxon, qui supportent XSTL 2.0 et ajoutent des extensions « maison », ce qui peut générer des avertissement ou des erreurs à l'exécution.

BillyBobBaker (joffrey-romero) said : #2

Thanks JazzyNico, that solved my question.

BillyBobBaker (joffrey-romero) said : #3

Bonjour!

Merci pour la qualité de votre travail et le sérieux de votre réponse.

j'ai bien saisi la procédure à suivre pour éditer des FXG depuis un processeur XSLT, je vous remercie des détails fournis à ce sujet.

Alors à bientôt et bon courage dans vos travaux

BBB