Skip to content

PlantUml wrapper to convert puml diagrams to images.

License

Notifications You must be signed in to change notification settings

jawira/plantuml-to-image

Repository files navigation

PlantUml to image

PlantUml wrapper to convert .puml diagrams into images.

Latest Stable Version Total Downloads PHP Version Require License

Usage

This package provides three methods:

  1. \Jawira\PlantUmlToImage\PlantUml::convertTo
  2. \Jawira\PlantUmlToImage\PlantUml::setJar
  3. \Jawira\PlantUmlToImage\PlantUml::isPlantUmlAvailable

Convert .puml diagram to image

It's up to you to load your diagram from disk, then use \Jawira\PlantUmlToImage\PlantUml to convert the diagram to another format, after conversion, it's up to you to save new image to disk:

use Jawira\PlantUmlToImage\Format;
use Jawira\PlantUmlToImage\PlantUml;

// Load diagram
$puml = file_get_contents('./diagram.puml');

// Convert to png
$plantUml = new PlantUml();
$png = $plantUml->convertTo($puml, Format::PNG);

// Save diagram
file_put_contents('./diagram.png', $png);

Set Jar location

Specify the location of plantuml.jar:

$plantUml->setJar('/path/to/plantuml.jar');

You don't need to set Jar location in the following cases:

  1. You have downloaded PlantUML with jawira/plantuml , (location vendor/jawira/plantuml/bin/plantuml.jar).
  2. If you have installed PlantUML with apt-get (location /usr/share/plantuml/plantuml.jar).
  3. Or if you have plantuml command installed.

Check PlantUml availability

An exception is thrown when jar can't be found, use this method to avoid the exception.

if ($plantUml->isPlantUmlAvailable()) {
  echo 'PlantUml is available.', PHP_EOL;
} else {
  echo 'Sorry, cannot convert diagram.', PHP_EOL;
}

How to install

$ composer require jawira/plantuml-to-image

Requirements

This package needs PlantUml (https://plantuml.com/en/download) as an executable or as a Jar file, note that PlantUml has its own requirements (https://plantuml.com/en/starting).

As an alternative, you can install PlantUml with Composer:

$ composer require jawira/plantuml

Contributing

If you liked this project, ⭐ star it on GitHub.

License

This library is licensed under the MIT license.


Packages from jawira

jawira/doctrine-diagram-bundle GitHub stars
Symfony Bundle to generate database diagrams.
jawira/case-converter GitHub stars
Convert strings between 13 naming conventions: Snake case, Camel case, Pascal case, Kebab case, Ada case, Train case, Cobol case, Macro case, Upper case, Lower case, Sentence case, Title case and Dot notation.
more...