Scalable Vector Graphics

SVGは、スケーラブルな画像フォーマットです。つまり、画像をズームしても劣化がありません。そのため、このフォーマットを使用すると、きれいな印刷結果が得られます。

コマンドライン-tsvgフラグを使用すると、SVGを生成することができます。

もしくは、Antタスク定義format="svg"を使用します。

<target name="main">
  <plantuml dir="./src" format="svg" />
</target>

Javaから直接SVGを生成することもできます。

SVGに特有のskinparam

svgLinkTarget

svgLinkTargetを使用すると、生成されたSVGのtargetの値を変更できます。

HTMLの仕様に基づいて次の値を選択できます:

@startuml
skinparam svgLinkTarget _parent
start
:[[http://plantuml.com]];
stop
@enduml

pathHoverColor

skinparam pathHoverColorを使用すると、マウスポインタがリンクに乗っている間の文字色を変更できます。

@startuml
skinparam pathHoverColor green
class Foo2 [[http://www.yahoo.com/Foo2]] {
  +double[] x
  +double y
}
Foo2 --> Foo3
@enduml

[Ref. QA-5453]

svgDimensionStyle

skinparam svgDimensionStyle falseを使用すると、出力するSVGファイルのヘッダーに、stylewidthheight属性が含まれなくなります。

@startuml
skinparam svgDimensionStyle false

component a {
}
component b {
}
a -(0- b
@enduml

[Ref. QA-7334]

SVGに特有のpragma

svgSize

!pragma svgSize <U+hhhhh> XXを使用すると、「<U+hhhhh>の大きさはXXと等しい」ということをPlantUMLに伝えることができます。

このディレクティブを使用して、例えば、

のように適切な設定値を探してください。

🎉 Copied!
@startuml
!pragma svgSize <U+1F610> XX

test: text <U+1F610>
test_size45: text <size:45><U+1F610>
@enduml

コマンドラインで引数-Pを使用してpragmaを指定することもできます。

java -jar plantuml.jar "-PsvgSize=<U+1F610> XX" "-PsvgSize=<U+1F611> I"

[Refs. QA-12550, issue-582]