Convertir au format SVG

Image Transcoder API est une API qui permet de convertir un flux entrant ou un document dans un format particulier de sortie. On utilise le package « org.apache.batik.transcoder.image » qui fournit des transcodeurs pour convertir un document SVG ou un fragment de ce document en une image dans un format tel que PNG, JPEG, ...

De plus, cette API permet de convertir un DOM Tree en une image.


import java.io.*;
import org.apache.batik.transcoder.image.JPEGTranscoder;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;

public class SaveAsJPEG {
   public static void main(String[] args) throws TranscoderException, IOException {
      // Création du « JPEG transcoder »
      JPEGTranscoder t = new JPEGTranscoder();
      // définition des paramètres de transcodage
      t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(.8));
      // création du « input »
      String svgURI = new File(args[0]).toURL().toString();
      TranscoderInput input = new TranscoderInput(svgURI);
      // création du « output »
      OutputStream ostream = new FileOutputStream("out.jpg");
      TranscoderOutput output = new TranscoderOutput(ostream);
      // sauvegarde de l'image
      t.transcode(input, output);
      // fermeture des flux
      ostream.flush();
      ostream.close();
      System.exit(0);
   }
}

Pour exécuter le fichier : java SaveAsJPEG asf-logo.svg

Vous obtenez un fichier « out.jpg ».


Pour convertir par morceaux, il suffit de modifier les paramètres de transcodage (JPEGTranscoder.addTranscodingHint()).

En cliquant ici, vous aurez un exemple d'un fichier SVG qui sera convertit en 4 images JPEG.


On utilise cette fois ci un autre constructeur : TranscoderInput(org.w3c.dom.Document document).

Pour un exemple de code, cliquez ici.