PlantUML にはプリプロセッサの機能があり、C言語などと同じように定数定義や ifdef などが使用できます。
これを使用し、以下のように出力フォーマットに応じて処理を分けてみます。
- PNG で出力する場合には newpage により画像を分割して出力する
- PNG 以外で出力する場合には画像を分割しない
定数の定義の仕方
PlantUML のコード上では、以下のように定義します。
!define _PROJECT_NAME_ ProjectName
また、コマンドライン引数でも定数は定義できます。
> plantuml.jar -DPNG="png" hoge.puml
-D
が定数定義するオプションで、その後に続く文字が定義する文字列です。
つまり、上記は以下の定義と同じ意味です。
!define PNG "png"
これで、上記のようにコマンドライン引数で定数を定義しつつ、PlantUML 内のコードに以下のように記述すれば、PNG で出力するときのみ画像が分割されることになります。
!ifdef PNG
newpage
!endif