private void convertSvg2Png(Path svg, Path png) { try { log.info("svg=" + svg); log.info("png=" + png); @Cleanup InputStream in = Files.newInputStream(svg); if (!Files.exists(png.getParent())) { Files.createDirectory(png.getParent()); } if (!Files.exists(png)) { Files.createFile(png); } @Cleanup OutputStream out = Files.newOutputStream(png); out = new BufferedOutputStream(out); Transcoder transcoder = new PNGTranscoder(); TranscoderInput input = new TranscoderInput(in); TranscoderOutput output = new TranscoderOutput(out); transcoder.addTranscodingHint(ImageTranscoder.KEY_WIDTH, 2048f); transcoder.addTranscodingHint(ImageTranscoder.KEY_HEIGHT, 2048f); transcoder.transcode(input, output); } catch (Exception e) { log.error(e.getMessage(), e); } }
<dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>batik-transcoder</artifactId> <version>1.14</version> </dependency> <dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>batik-codec</artifactId> <version>1.14</version> </dependency>
svg生成2048*2048的png