Conversions de formats d'images

De La Mouche VII
Révision datée du 24 janvier 2011 à 14:43 par Xiloynaha (discussion | contributions) (revert vandalisme)
Aller à la navigationAller à la recherche

Sur cette page je synthétise les astuces que j'ai trouvées pour parvenir à exporter dans les formats que je veux à partir d'un logiciel donné. J'ai une nette préférence pour les formats vectoriels, surtout quand il s'agit de produire des documents, c'est pourquoi je passe parfois par des techniques détournées pour parvenir à mes fins plutôt que d'utiliser un export bitmap qui fonctionne bien dans l'immense majorité des applications.

EPS vers PDF

Une seule commande :

epstopdf image.eps

Dans un Makefile, ça donne :

%.pdf : %.eps
	epstopdf $<

PDF vers EPS

Assez simple en deux commandes :

pdftops image.pdf
ps2eps image.ps

Dans un Makefile, ça donne :

%.eps : %.pdf
	pdftops $< \
		&& ps2eps $(<:.pdf=.ps)

Dia vers PDF

L'export PDF de dia (version 0.97) fait n'importe quoi. Il faut donc passer par l'export EPS utilisant les polices Pango (avec les polices Latin1 c'est laid) :

  1. Fichier -> Exporter. En face de « Déterminer le type du fichier », choisir « PostScript encapsulé (EPS) utilisant les polices Pango (*.eps) »
  2. Une fois le fichier exporté, utiliser la commande epstopdf pour la convertir en PDF comme vu plus haut.

Dia vers Inkscape

Côté Inkscape

Inkscape (version 0.46, peut-être avant) sait ouvrir les fichiers *.dia. Le résultat est généralement satisfaisant, mais j'ai rencontré des soucis avec certains textes, qui perdaient leur apparence et avaient un comportement étrange quand je tentais modification (un texte multi-lignes dans Dia reste un seul bloc de texte dans Inkscape, mais les lignes se « fondent » lorsqu'on supprime les retours chariot… très étrange). Le plus simple est alors de copier le contenu du bloc de texte (sélectionner le bloc, puis Ctrl-x) et de créer un nouvel objet texte (cliquer n'importe où avec l'outil texte) et de coller le texte dedans (Ctrl-v) ; attention, les retours chariots sont supprimés et non remplacés par des espaces.

Autre possibilité, on peut exporter en PDF depuis Dia (via EPS, comme vu au paragraphe précédent), puis importer le PDF depuis Inkscape ; les textes conservent alors leur apparence, mais sont convertis en chemins et donc non modifiable via l'outil texte.

Côté Dia

Dia comporte également un export vers différentes variantes du format SVG :

  • Graphique vectoriel Cairo (SVG) (*.svg) : donne a priori le même résultat que la technique « export PDF puis import dans Inkscape » décrite précédemment. À privilégier donc puisqu'on économise l'étape EPS.
  • Scalable Vector Graphics (*.svg) : a priori exactement le même comportement que l'ouverture du fichier Dia depuis Inkscape, avec le même problème sur les textes.
  • SVG plain (*.svg) : les textes multi-lignes dans Dia sont transformés en autant d'objets texte qu'il y a de lignes, mais la modification (ajout de texte notamment) reste toujours aussi problématique. De plus, l'apparence générale du diagramme est moins bien respectée. À déconseiller.
  • SVG compressed (*.svgz) : même chose que le précédent, mais compressé.

En bref

Pour résumer :

  • Le plus simple est d'ouvrir le fichier Dia depuis Inkscape.
  • Si un problème se manifeste et que les textes n'ont pas besoin d'être retouchés, utiliser l'export « Graphique vectoriel Cairo (SVG) » depuis Dia, puis ouvrir le fichier SVG ainsi généré depuis Inkscape.

Netbeans UML vers vectoriel (non supporté)

J'utilisais le module UML de Netbeans (version 6.0.1) pour créer mes diagrammes UML, mais il ne sait apparemment exporter qu'en bitmap (PNG). Enfin, il y a bien un export SVG, mais il s'agit en fait d'une image bitmap embarquée dans un SVG, autant dire que je n'ai jamais rien vu de plus stupide !

Si vous avez une méthode pour exporter dans un format vectoriel, faites-moi signe !

Note : je n'ai essayé sur aucune version supérieure à la 6.0.1, peut-être que ça a évolué dans les versions plus récentes.

Logiciels ne posant pas problème

Inkscape (0.46)
  • L'export « PDF avec la librairie Cairo » fonctionne bien avec les options par défaut (PDF 1.4, Convertir les textes en chemins).
  • L'export EPS fonctionne bien aussi, mais il faut cocher « Créer une boîte englobante autour de la page » pour que la mise en page soit respectée (sinon les objets en dehors de la page apparaîtront et l'image sera redimensionnée).
Inkscape (0.47)
  • L'option « PDF avec la librairie Cairo » a disparu, mais « Portable Document Format » donne des résultats corrects. Peut-être est-ce juste l'entrée du menu qui a été renommée.
XFig (3.2.5a)
L'export EPS et PDF fonctionne bien.