👏

オンライン上のPlantUMLファイルをレンダリングする

2021/11/02に公開

publicな場所に置いたPlantUMLファイルからsvgファイルを生成する方法のメモです。

TL;DR

公式サイトのThe servlet for server sideのプロキシサービスの項を見てください。

イントロ

GitHubやGist等に置いたPlantUMLファイル(.pu,.puml)をMarkdown等に画像として埋め込みたい場合、
レンダリングされた画像として保存するのは手間です。

Online Serverでレンダリングすることはできるのですが、
入力形式が特殊な(base64ライクな)URLエンコードを行う必要がある為、エンコードしてGETする必要が有ります。

シンプルに、PlantUMLファイルから画像を生成する方法を知りたくて調べてみました。

画像ファイルにする方法

公式サイトのThe servlet for server sideのプロキシサービスにズバリ書かれていました。

fmt=FORMATは任意項目となっていますが、デフォルトのpngだと画像が大きくなった場合にトリミングされてしまうことが有るので、svgを指定したほうが良いかと思います。

例えば、
https://raw.github.com/plantuml/plantuml-server/master/src/main/webapp/resource/test2diagrams.txt
というファイルをレンダリングする場合、掲示されている例にfmt=FORMATを加えると下記の様になります。

http://www.plantuml.com/plantuml/proxy?fmt=svg&src=https://raw.github.com/plantuml/plantuml-server/master/src/main/webapp/resource/test2diagrams.txt

使用例

https://github.com/udaken/class_diagram_of_dotnet_containers/blob/main/README.md

Discussion