J'ai ces SVGS et je voudrais les exporter en images PNG, je pourrais les exporter avec Inkscape mais cela signifierait ouvrir chaque fichier et exporter ce fichier en PNG qui n'est pas efficace (j'en ai des centaines).
Comment puis-je faire ceci?
Inspiré par la réponse précédemment acceptée, j'ai trouvé ce one-liner:
Pour Inkscape version 0.92.4 et antérieures:
for file in *.svg; do inkscape $file -e ${file%svg}png; done
De cette façon, vous n'avez pas besoin d'appeler un script. Si vous le souhaitez, vous pouvez créer un alias pour convertir tous les svgs du répertoire courant en pngs:
alias svgtopng='for file in *.svg; do inkscape $file -e ${file%svg}png; done'
Pour Inkscape version 1.0 Beta et versions ultérieures:
for file in *.svg; do inkscape $file -o ${file%svg}png; done
De cette façon, vous n'avez pas besoin d'appeler un script. Si vous le souhaitez, vous pouvez créer un alias pour convertir tous les svgs du répertoire courant en pngs:
alias svgtopng='for file in *.svg; do inkscape $file -o ${file%svg}png; done'
${file%svg}png
est un bon truc! Je n'avais jamais vu ça auparavant.Il semble que vous pouvez utiliser Inkscape à partir de la ligne de commande:
plus de détails
J'imagine que vous pouvez écrire un simple script bash pour traiter tous les fichiers SVG:
l'exemple ci-dessus convertit tous les fichiers .svg du répertoire actuel, en ajoutant l'extension .png aux fichiers de sortie.
la source
${file%svg}png
. Vous pouvez lire ici pour plus de possibilités.Script Nautilus graphique
Aperçu
La ligne de commande est idéale pour les conversions par lots, mais parfois vous ne voulez tout simplement pas quitter le confort de votre interface graphique. C'est pourquoi j'ai codé un script Nautilus basé sur une interface graphique pour convertir par lots des fichiers SVG en images PNG. D'autres gestionnaires de fichiers avec des actions personnalisées (par exemple Thunar) doivent également être pris en charge.
Capture d'écran
Scénario
Je vais essayer de garder cette réponse à jour, mais veuillez consulter mon référentiel Github pour la dernière version du script.
Installation
Des instructions d'installation génériques pour tous les scripts Nautilus peuvent être trouvées ici . Les commandes suivantes doivent couvrir toutes les dépendances nécessaires:
Pour plus d'informations, veuillez consulter l'en-tête du script ci-dessus.
Usage
Après avoir installé le script, vous devriez pouvoir l'invoquer à partir du menu contextuel de votre gestionnaire de fichiers. Sélectionnez simplement un ou plusieurs fichiers SVG et cliquez sur l'entrée appropriée dans votre menu contextuel. Une boîte de dialogue GUI devrait proposer plusieurs options concernant la conversion.
Vous pouvez convertir le SVG en fonction du DPI ou de la largeur. Le rapport hauteur / largeur sera conservé dans les deux cas. Assurez-vous de fournir votre DPI ou la largeur de votre choix avant de cliquer sur les boutons de conversion.
Vous pouvez également choisir entre exporter le fichier SVG complet ou uniquement le dessin recadré. Si votre canevas SVG a beaucoup d'espace vide, il est conseillé de choisir "Dessin" comme option d'exportation.
la source
Voici une solution alternative légèrement différente dans un langage de script plus lisible - python. Il peut exporter par lots tous vos svgs. Particulièrement idéal si vous faites du développement Android et devez créer plusieurs pngs à partir d'un seul svg.
Avertissement: j'ai écrit la lib. J'espère que cela aide quelqu'un.
Cliquez ici .
Pour une utilisation simple, téléchargez la bibliothèque dans un dossier, placez les svgs dans le même dossier, puis exécutez
dans la ligne de commande / le terminal après vous
cd
dans le dossier. Pour des options plus avancées, consultez le fichier README .la source
Si tous les fichiers, mais seulement certains fichiers SVG doivent être convertis en PNG, on peut utiliser
sed
pour générer automatiquement les noms de fichiers:la source