Exporter PNG from inkscape

Placer les objets dans le document, les nommer ‘export-1’, ‘export-2’, etc. ― sur un calque isolé et masqué

$ pjnsvgexport --pattern '^export' infile.svg
# on exporte tous les objets qui comporte 'export' dans l'id

pjnsvgexport est lié à un script python. Le script est téléchargeable ici : https://github.com/berteh/svg-objects-export

Exporter à une résolution

l’option -X ou --extra nous permet d’utiliser les options de Inkscape. e.g. je veux exporter à 300 dpi

pjnsvgexport --pattern '^export' --extra '--export-dpi 300' infile.svg

La partie entre guillemets --export-dpi 300 correspond à l’option passée à Inkscape

Exporter des layers dans des fichiers séparés

for i in $(seq 1 30); do inkscape -f input.svg -z -D -i "layer$i" -j -e "$i.png"; done

avec -e, on exporte des png. Pour exporter des pdf, on utilise -A. En plus, pour exporter à la taille de la page, on remplace -D par -C (voir le man pour les détails) :

for i in $(seq 1 30); do inkscape -f input.svg -z -C -i "layer$i" -j -A "$i.pdf"; done

Lister les calques d’un fichier

inkscape --query-all presentation.svg | grep layer | awk -F, '{print $1}'

Exporter un calque

-i ou --export-id -j ou --export-id-only

inkscape presentation.svg -i layer1 -j -C --export-png=layer1.png

Exporter

Les pages du document doivent être calculées en pixels (c’est cette unité qui sera utilisée lors de l’export, et les cm, ou mm, provoqueront un redimensionnement des objets lors de celui-ci). Une bonne taille est 794*1122px

On pourra placer les pages côte à côte, en dépassant ou non la zone de travail. Chaque page se verra attribué un calque. Avec l’option -D, à l’export, nous pourrons ainsi déterminer que chaque page prendra la taille de chaque calque.

Si un objet dépasse la page, celui-ci doit être masqué pour être contenu et ne pas agrandir la page exportée.

On ne laisse, sur le document, que les calques que l’on veut exporter en pages pdf

Ensuite, dans le terminal

for i in $(seq 1 10); do inkscape -f input.svg -D -i "layer$i" -A "$i.pdf"; done # export des pages dans des pdf uniques

pdfunite *.pdf out.pdf # fusion des différentes pages en un seul pdf