plantuml-converter
PlantUMLファイルをPNG/SVG/PDF画像に変換し、設定ファイルや環境変数でJavaやPlantUMLのパスを柔軟に指定できるSkill。
📜 元の英語説明(参考)
Convert PlantUML (.puml) files to images (PNG/SVG/PDF). Supports configurable PlantUML jar and Java paths via config file (plantuml-config.json in skill directory) or environment variables (PLANTUML_LIB). No external dependencies beyond Java and PlantUML.jar. Trigger: convert puml, render PlantUML, puml to png, export diagram.
🇯🇵 日本人クリエイター向け解説
PlantUMLファイルをPNG/SVG/PDF画像に変換し、設定ファイルや環境変数でJavaやPlantUMLのパスを柔軟に指定できるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] plantuml-converter
PlantUML Converter
PlantUML (.puml) ファイルを画像形式 (PNG, SVG, PDF) に変換します。
使用する場面
ユーザーが以下のリクエストをした場合に、このスキルを使用します。
- 「puml を変換して」「PlantUML をレンダリングして」「画像を生成して」
- 「puml を png に」「puml を svg に」
- 「図をエクスポートして」「図をレンダリングして」
- .puml ファイルを画像に変換することを含むあらゆるリクエスト
前提条件
- Java: JRE 8+ (JDK 11+ を推奨)
- PlantUML.jar: レンダリングエンジン (自動ダウンロード可能)
自動ダウンロード
plantuml.jar が見つからない場合、init-config スクリプトが自動ダウンロードを提案します。
- ソース: GitHub Releases
- 場所:
<skill_dir>/lib/plantuml.jar - サイズ: 約8MB
Java のバージョンに基づくバージョン選択:
| Java バージョン | ダウンロードされる PlantUML |
|---|---|
| Java 11+ | 最新 (1.2026.x) |
| Java 8 | 1.2023.12 (Java 8 互換の最終バージョン) |
| 不明 | 最新 |
ダウンロードには以下を使用します。
- Linux/Mac:
curlまたはwget - Windows: PowerShell または
curl
互換性
Java バージョン要件
| PlantUML バージョン | 推奨 Java |
|---|---|
| 1.2026.x (最新) | Java 11+ |
| 1.2024.x - 1.2025.x | Java 11+ |
| 1.2020.x - 1.2023.x | Java 8+ |
| 1.2019.x およびそれ以前 | Java 8+ |
既知の互換性問題
| 問題 | 原因 | 解決策 |
|---|---|---|
UnsupportedClassVersionError |
Java のバージョンが PlantUML に対して古すぎる | Java を 8+ にアップグレードしてください |
NoClassDefFoundError |
jar が破損しているか、Java が間違っている | plantuml.jar を再ダウンロードしてください |
| PDF 生成の失敗 | Graphviz が不足している (一部の図の場合) | Graphviz をインストールするか、PNG/SVG を使用してください |
| 絵文字/特殊文字の失敗 | Java にフォントがない | 必要なフォントをインストールするか、-charset UTF-8 を使用してください |
バージョンチェック
check-env スクリプトは以下を検証します。
- Java のインストールとバージョン (8+ である必要があります)
- PlantUML.jar の存在
- PlantUML のバージョン (オプション)
- Java と PlantUML の互換性
設定
オプション 1: 設定ファイル (推奨)
スキルディレクトリ内の plantuml-config.json を編集します (<skill_dir>/plantuml-config.json)。
{
"plantumlJar": "C:/tools/plantuml/plantuml.jar",
"javaPath": "C:/Program Files/Java/jdk-17/bin/java.exe"
}
オプション 2: 環境変数
PLANTUML_LIB: plantuml.jar へのフルパスJAVA_HOME: Java のインストールディレクトリ
優先順位
CLI 引数 > 設定ファイル > 環境変数 > システムのデフォルト Java
使用方法
Windows
ステップ 1: 設定の初期化
%SKILL_DIR%\scripts\init-config.bat
ステップ 2: 環境の確認
%SKILL_DIR%\scripts\check-env.bat
ステップ 3: ファイルの変換
REM 単一ファイル
%SKILL_DIR%\scripts\convert.bat input.puml
REM 形式を指定
%SKILL_DIR%\scripts\convert.bat input.puml -f svg
%SKILL_DIR%\scripts\convert.bat input.puml -f png
%SKILL_DIR%\scripts\convert.bat input.puml -f pdf
REM 出力を指定
%SKILL_DIR%\scripts\convert.bat input.puml -o output.png
REM バッチ変換
%SKILL_DIR%\scripts\convert.bat ./diagrams/ -r
Linux/Mac
ステップ 1: 設定の初期化
bash <skill_dir>/scripts/init-config.sh
ステップ 2: 環境の確認
bash <skill_dir>/scripts/check-env.sh
ステップ 3: ファイルの変換
# 単一ファイル
bash <skill_dir>/scripts/convert.sh input.puml
# 形式を指定
bash <skill_dir>/scripts/convert.sh input.puml -f svg
bash <skill_dir>/scripts/convert.sh input.puml -f png
bash <skill_dir>/scripts/convert.sh input.puml -f pdf
# 出力を指定
bash <skill_dir>/scripts/convert.sh input.puml -o output.png
# バッチ変換
bash <skill_dir>/scripts/convert.sh ./diagrams/ -r
直接コマンド (スクリプトなし)
パスが分かっている場合は、直接呼び出します。
REM Windows
java -jar C:\path\to\plantuml.jar -tpng diagram.puml
REM Linux/Mac
java -jar /path/to/plantuml.jar -tpng diagram.puml
コマンド引数
| 引数 | 説明 | デフォルト |
|---|---|---|
input |
.puml ファイルまたはディレクトリ | 必須 |
-f FORMAT |
出力形式: png/svg/pdf | png |
-o OUTPUT |
出力ファイルパス | 入力と同じディレクトリ、同じ名前 |
-t THEME |
PlantUML テーマ | なし |
-D KEY=VALUE |
PlantUML 変数 | なし |
-r |
ディレクトリの再帰処理 | false |
--config PATH |
設定ファイルパス | <skill_dir>/plantuml-config.json |
--plantuml PATH |
plantuml.jar パス | 自動検出 |
--java PATH |
java パス | 自動検出 |
デフォルトの出力動作: -o がない場合、出力ファイルは入力ファイルと同じディレクトリに、同じベース名で生成されます。
diagram.puml → diagram.png
/path/to/arch.puml → /path/to/arch.png
文字エンコーディング
すべての変換は、以下を処理するために自動的に -charset UTF-8 を使用します。
- CJK 文字 (中国語、日本語、韓国語)
- 絵文字と特殊記号
- 図内の Unicode テキスト
それでも文字化けが見られる場合は、.puml ファイルが UTF-8 エンコーディングで保存されていることを確認してください。
PlantUML の例
シーケンス図
@startuml
title User Login Flow
actor User
participant "Frontend" as FE
participant "Backend" as BE
database "Database" as DB
User -> FE: Enter credentials
FE -> BE: POST /api/login
BE -> DB: Query user info
DB --> BE: Return user data
BE --> FE: Return JWT Token
FE --> User: Login success, redirect
@enduml
クラス図
@startuml
title Class Diagram Example
class User {
- id: Long
- username: String
- password: String
- email: String
+ login(): Boolean
+ register(): Boolean
+ changePassword(): void
}
class Order {
- orderNo: String
- amount: Double
- status: Enum
+ create(): void
+ cancel(): void
}
class Product {
- productId: Long
- name: String
- price: Double
- stock: Integer
}
User "1" -- "*" Order : has >
Order "*" -- "*" Product : contains >
@enduml
アクティビティ図
@startuml
title Order Processing Flow
start
:User submits order;
if (Stock available?) then (yes)
:Deduct stock;
:Create order;
if (Payment success?) then (yes)
:Ship goods;
:Complete order;
else (no)
:Cance 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
PlantUML Converter
Convert PlantUML (.puml) files to image formats (PNG, SVG, PDF).
When to Use
Use this skill when user requests:
- "convert puml", "render PlantUML", "generate image"
- "puml to png", "puml to svg"
- "export diagram", "render diagram"
- Any request involving converting .puml files to images
Prerequisites
- Java: JRE 8+ (JDK 11+ recommended)
- PlantUML.jar: Rendering engine (auto-download available)
Auto-Download
If plantuml.jar is not found, the init-config script will offer to download it automatically:
- Source: GitHub Releases
- Location:
<skill_dir>/lib/plantuml.jar - Size: ~8MB
Version selection based on Java:
| Java Version | PlantUML Downloaded |
|---|---|
| Java 11+ | Latest (1.2026.x) |
| Java 8 | 1.2023.12 (last Java 8 compatible) |
| Unknown | Latest |
The download uses:
- Linux/Mac:
curlorwget - Windows: PowerShell or
curl
Compatibility
Java Version Requirements
| PlantUML Version | Recommended Java |
|---|---|
| 1.2026.x (latest) | Java 11+ |
| 1.2024.x - 1.2025.x | Java 11+ |
| 1.2020.x - 1.2023.x | Java 8+ |
| 1.2019.x and earlier | Java 8+ |
Known Compatibility Issues
| Issue | Cause | Solution |
|---|---|---|
UnsupportedClassVersionError |
Java version too old for PlantUML | Upgrade Java to 8+ |
NoClassDefFoundError |
Corrupt jar or wrong Java | Re-download plantuml.jar |
| PDF generation fails | Missing Graphviz (for some diagrams) | Install Graphviz or use PNG/SVG |
| Emoji/special chars fail | Font missing in Java | Install required fonts or use -charset UTF-8 |
Version Check
The check-env script verifies:
- Java installation and version (must be 8+)
- PlantUML.jar existence
- PlantUML version (optional)
- Compatibility between Java and PlantUML
Configuration
Option 1: Config File (Recommended)
Edit plantuml-config.json in the skill directory (<skill_dir>/plantuml-config.json):
{
"plantumlJar": "C:/tools/plantuml/plantuml.jar",
"javaPath": "C:/Program Files/Java/jdk-17/bin/java.exe"
}
Option 2: Environment Variables
PLANTUML_LIB: Full path to plantuml.jarJAVA_HOME: Java installation directory
Priority
CLI arguments > Config file > Environment variables > System default java
Usage
Windows
Step 1: Initialize Config
%SKILL_DIR%\scripts\init-config.bat
Step 2: Check Environment
%SKILL_DIR%\scripts\check-env.bat
Step 3: Convert Files
REM Single file
%SKILL_DIR%\scripts\convert.bat input.puml
REM Specify format
%SKILL_DIR%\scripts\convert.bat input.puml -f svg
%SKILL_DIR%\scripts\convert.bat input.puml -f png
%SKILL_DIR%\scripts\convert.bat input.puml -f pdf
REM Specify output
%SKILL_DIR%\scripts\convert.bat input.puml -o output.png
REM Batch convert
%SKILL_DIR%\scripts\convert.bat ./diagrams/ -r
Linux/Mac
Step 1: Initialize Config
bash <skill_dir>/scripts/init-config.sh
Step 2: Check Environment
bash <skill_dir>/scripts/check-env.sh
Step 3: Convert Files
# Single file
bash <skill_dir>/scripts/convert.sh input.puml
# Specify format
bash <skill_dir>/scripts/convert.sh input.puml -f svg
bash <skill_dir>/scripts/convert.sh input.puml -f png
bash <skill_dir>/scripts/convert.sh input.puml -f pdf
# Specify output
bash <skill_dir>/scripts/convert.sh input.puml -o output.png
# Batch convert
bash <skill_dir>/scripts/convert.sh ./diagrams/ -r
Direct Command (No Script)
When paths are known, call directly:
REM Windows
java -jar C:\path\to\plantuml.jar -tpng diagram.puml
REM Linux/Mac
java -jar /path/to/plantuml.jar -tpng diagram.puml
Command Arguments
| Argument | Description | Default |
|---|---|---|
input |
.puml file or directory | Required |
-f FORMAT |
Output format: png/svg/pdf | png |
-o OUTPUT |
Output file path | Same directory, same name as input |
-t THEME |
PlantUML theme | None |
-D KEY=VALUE |
PlantUML variable | None |
-r |
Recursive directory processing | false |
--config PATH |
Config file path | <skill_dir>/plantuml-config.json |
--plantuml PATH |
plantuml.jar path | Auto-detect |
--java PATH |
java path | Auto-detect |
Default output behavior: Without -o, the output file is generated in the same directory as the input file with the same base name.
diagram.puml → diagram.png
/path/to/arch.puml → /path/to/arch.png
Character Encoding
All conversions use -charset UTF-8 automatically to handle:
- CJK characters (Chinese, Japanese, Korean)
- Emoji and special symbols
- Unicode text in diagrams
If you still see garbled text, ensure your .puml file is saved with UTF-8 encoding.
PlantUML Examples
Sequence Diagram
@startuml
title User Login Flow
actor User
participant "Frontend" as FE
participant "Backend" as BE
database "Database" as DB
User -> FE: Enter credentials
FE -> BE: POST /api/login
BE -> DB: Query user info
DB --> BE: Return user data
BE --> FE: Return JWT Token
FE --> User: Login success, redirect
@enduml
Class Diagram
@startuml
title Class Diagram Example
class User {
- id: Long
- username: String
- password: String
- email: String
+ login(): Boolean
+ register(): Boolean
+ changePassword(): void
}
class Order {
- orderNo: String
- amount: Double
- status: Enum
+ create(): void
+ cancel(): void
}
class Product {
- productId: Long
- name: String
- price: Double
- stock: Integer
}
User "1" -- "*" Order : has >
Order "*" -- "*" Product : contains >
@enduml
Activity Diagram
@startuml
title Order Processing Flow
start
:User submits order;
if (Stock available?) then (yes)
:Deduct stock;
:Create order;
if (Payment success?) then (yes)
:Ship goods;
:Complete order;
else (no)
:Cancel order;
:Restore stock;
:Notify payment failure;
endif
else (no)
:Notify out of stock;
endif
stop
@enduml
Use Case Diagram
@startuml
title E-Commerce System Use Cases
left to right direction
actor User
actor Admin
rectangle "E-Commerce System" {
usecase "Browse Products" as UC1
usecase "Search Products" as UC2
usecase "Add to Cart" as UC3
usecase "Place Order" as UC4
usecase "Payment" as UC5
usecase "View Orders" as UC6
usecase "Manage Products" as UC7
usecase "Manage Orders" as UC8
usecase "Manage Users" as UC9
}
User --> UC1
User --> UC2
User --> UC3
User --> UC4
User --> UC5
User --> UC6
Admin --> UC7
Admin --> UC8
Admin --> UC9
@enduml
Component Diagram
@startuml
title System Architecture
package "Frontend" {
[Web App] as Web
[Mobile App] as Mobile
}
package "Backend Services" {
[API Gateway] as Gateway
[User Service] as UserService
[Order Service] as OrderService
[Product Service] as ProductService
[Payment Service] as PaymentService
}
database "Database" {
[MySQL] as DB
[Redis] as Cache
}
Web --> Gateway
Mobile --> Gateway
Gateway --> UserService
Gateway --> OrderService
Gateway --> ProductService
Gateway --> PaymentService
UserService --> DB
OrderService --> DB
ProductService --> DB
PaymentService --> DB
UserService --> Cache
@enduml
State Diagram
@startuml
title Order State Transitions
[*] --> Pending: Create order
Pending --> Paid: Payment success
Pending --> Cancelled: Timeout/user cancel
Paid --> Shipping: Merchant ships
Shipping --> Delivered: User confirms receipt
Delivered --> Completed: Auto complete
Delivered --> Refunding: Request refund
Refunding --> Refunded: Refund success
Refunding --> Delivered: Cancel refund
Cancelled --> [*]
Completed --> [*]
Refunded --> [*]
@enduml
Conversion Examples
REM Windows - Basic conversion
convert.bat architecture.puml
REM Windows - SVG format
convert.bat architecture.puml -f svg
REM Windows - Custom theme
convert.bat diagram.puml -t blueprint
REM Windows - Batch convert
convert.bat ./docs/ -r -f svg
# Linux/Mac - Basic conversion
bash convert.sh architecture.puml
# Linux/Mac - SVG format
bash convert.sh architecture.puml -f svg
# Linux/Mac - Custom theme
bash convert.sh diagram.puml -t blueprint
# Linux/Mac - Batch convert
bash convert.sh ./docs/ -r -f svg
Troubleshooting
| Error | Solution |
|---|---|
java: command not found |
Install Java or configure javaPath |
plantuml.jar not found |
Configure plantumlJar or set PLANTUML_LIB |
Syntax error |
Check .puml file syntax |
Permission denied |
Check file permissions |
Script List
| Script | Windows | Linux/Mac | Description |
|---|---|---|---|
| Init config | init-config.bat |
init-config.sh |
Auto-generate config file |
| Check env | check-env.bat |
check-env.sh |
Check Java and PlantUML |
| Convert | convert.bat |
convert.sh |
Main conversion function |