(Mirror 1)       (Mirror 2)       (Mirror 3)      

Home Map News Faq

Calling PlantUML from Java

You can easily integrate PlantUML with your own code by adding plantuml.jar in your classpath.

PNG generation

From a String

If you diagram description is stored in a String, you can use to SourceStringReader class to generate the PNG file.

OutputStream png = ...;
String source = "@startuml\n";
source += "Bob -> Alice : hello\n";
source += "@enduml\n";

SourceStringReader reader = new SourceStringReader(source);
// Write the first image to "png"
String desc = reader.generateImage(png);
// Return a null string if no generation

From a File

If you diagram description is stored in a File, you can use to SourceFileReader class to generate the PNG file.

File source = ...;
SourceFileReader reader = new SourceFileReader(source);
List<GeneratedImage> list = reader.getGeneratedImages();
// Generated files
File png = list.get(0).getPngFile();

SVG generation

From a String

If you diagram description is stored in a String, you can use to SourceStringReader class to generate the SVG file.

String source = "@startuml\n";
source += "Bob -> Alice : hello\n";
source += "@enduml\n";

SourceStringReader reader = new SourceStringReader(source);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
// Write the first image to "os"
String desc = reader.generateImage(os, new FileFormatOption(FileFormat.SVG));
os.close();

// The XML is stored into svg
final String svg = new String(os.toByteArray());

Support This Project Offer 250 Mo! Follow PlantUML on Twitter