jawira / plantuml-to-image
PlantUml wrapper to convert puml diagrams to images.
Requires
- php: ^7.4 || ^8.0
- symfony/process: ^5.4 || ^6.0 || ^7.0
Requires (Dev)
- ext-libxml: *
- ext-simplexml: *
- ergebnis/composer-normalize: ^2.28
- jawira/plantuml: ^1.2022
- jawira/skeleton: ^2.16
- jawira/the-lost-functions: ^1.5.0
- phpunit/phpunit: ^9.6.17
- vimeo/psalm: ^4.30.0
Suggests
- jawira/plantuml: Provides PlantUml (jar and executable)
README
PlantUml wrapper to convert .puml
diagrams into images.
Usage
This package provides three methods:
\Jawira\PlantUmlToImage\PlantUml::convertTo
\Jawira\PlantUmlToImage\PlantUml::setJar
\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:
- You have downloaded PlantUML
with jawira/plantuml
, (location
vendor/jawira/plantuml/bin/plantuml.jar
). - If you have installed PlantUML with apt-get
(location
/usr/share/plantuml/plantuml.jar
). - 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
- Symfony Bundle to generate database diagrams.
- jawira/case-converter
- 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...