SVG to JPEG demo =================== * http://xmlgraphics.apache.org/batik/using/transcoder.html Demo ----- Below steps have been made into `batik-` bash functions:: simon:transcoder blyth$ batik- simon:transcoder blyth$ batik-get # download the distribution simon:transcoder blyth$ batik-svg2jpg-build # compile the demo java simon:transcoder blyth$ batik-svg2jpg-ex /data/heprez/data/scrape/20130325/hfagc/00208/01218/01218.svg simon:transcoder blyth$ batik-svg2jpg $(batik-svg2jpg-ex) /tmp/out.jpg /data/heprez/data/scrape/20130325/hfagc/00208/01218/01218.svg:1: warning: failed to load external entity "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" ^ time java -cp /usr/local/heprez/future/batik/transcoder:/usr/local/heprez/future/batik/batik-1.7/batik.jar SaveAsJPEG 01218_nometa.svg real 0m9.630s user 0m5.883s sys 0m0.784s simon:transcoder blyth$ open /tmp/out.jpg Step by Step -------------- Compile ~~~~~~~~ :: simon:transcoder blyth$ batik-jar /usr/local/heprez/future/batik/batik-1.7/batik.jar simon:transcoder blyth$ javac -cp $(batik-jar) SaveAsJPEG.java simon:transcoder blyth$ ll total 16 -rw-r--r-- 1 blyth staff 1009 4 Apr 17:25 SaveAsJPEG.java -rw-r--r-- 1 blyth staff 1444 4 Apr 17:31 SaveAsJPEG.class Pick an SVG ~~~~~~~~~~~~ :: simon:data blyth$ find $HEPREZ_DATA -name '.svg' | wc -l 3042 simon:data blyth$ open $HEPREZ_DATA/scrape/20130325/hfagc/00208/01218/01218.svg simon:transcoder blyth$ cp $HEPREZ_DATA/scrape/20130325/hfagc/00208/01218/01218.svg . Try to transcode ~~~~~~~~~~~~~~~~~~ :: simon:transcoder blyth$ java -cp .:$(batik-jar) SaveAsJPEG 01218.svg Exception in thread "main" org.apache.batik.transcoder.TranscoderException: null Enclosed Exception: The current document is unable to create an element of the requested type (namespace: http://www.w3.org/2000/svg, name: now). at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:134) at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156) at SaveAsJPEG.main(SaveAsJPEG.java:27) Remove metadata element ~~~~~~~~~~~~~~~~~~~~~~~~~~ Despite the warning, succeed to remove the metadata element:: simon:transcoder blyth$ xsltproc $(heprez-home)/hfag/mods/webapp/hfagc/resources/strip-metadata.xsl 01218.svg > 01218_nometa.svg 01218.svg:1: warning: failed to load external entity "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" simon:transcoder blyth$ xmllint --format 01218_nometa.svg | more Try again ~~~~~~~~~~~ :: simon:transcoder blyth$ time java -cp .:$(batik-jar) SaveAsJPEG 01218_nometa.svg real 0m14.804s user 0m5.878s sys 0m0.856s Check the jpg ~~~~~~~~~~~~~~~ :: simon:transcoder blyth$ open out.jpg #. not as bad as i recall #. dinky math font, but legible-ish * numbers seem to use too large a font wrt other symbols, leading to overlapping #. title, key and axis text is missing