Llamando PlantUML desde Java

Puede integrar fácilmente PlantUML con su propio código añadiendo plantuml.jar al classpath.

Generación de un PNG desde un String

Si la descripción del diagrama se encuentra almacenada en un String, se puede emplear la clase SourceStringReader para generar un fichero PNG.

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

SourceStringReader reader = new SourceStringReader(source);
// Escribe la primera imagen a "png"
String desc = reader.outputImage(png).getDescription();
// Devuelve una cadena nula si no hay se ha generado nada

WARNING
 This translation need to be updated. 
WARNING

Generación de un PNG desde un File

Si la descripción del diagrama se encuentra almacenada en un File, puede emplearse la clase SourceFileReader para generar un fichero PNG.

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

Generación de un SVG desde un String

Si la descripción del diagrama está almacenada en un String, puede utilizar la clase SourceStringReader para generar un fichero SVG.

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

SourceStringReader reader = new SourceStringReader(source);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
// Escribe la primera imagen a "os"
String desc = reader.generateImage(os, new FileFormatOption(FileFormat.SVG));
os.close();

// El XML se guarda en svg
final String svg = new String(os.toByteArray(), Charset.forName("UTF-8"));