Drawio沒有內建功能能將所有分頁匯出成圖片,因此需要透過一些指令去匯出圖片。
以下範例爲將當前資料夾中所有副檔名爲.drawio檔案,產生一個檔名的資料夾,將匯出圖片,圖片名稱爲該分頁名稱。
.bat (適用於Windows)
@echo off
setlocal enabledelayedexpansion
rem 定義 draw.io 的執行檔路徑
set "drawio_path=C:\Program Files\draw.io\draw.io.exe"
rem 獲取當前目錄的所有 .drawio 檔案
for %%f in (*.drawio) do (
rem 提取檔案的檔名和路徑資訊
set "input_file=%%~f"
set "filename=%%~nf"
set "output_dir=%%~dp%%~nf"
rem 初始化頁面名稱清單
set "page_names="
rem 使用 PowerShell 提取頁面名稱
for /f "tokens=*" %%i in ('powershell -command "[xml]$xml = Get-Content -Path '%%~f'; $xml.mxfile.diagram | ForEach-Object { $_.name }"') do (
set "page_names=!page_names! %%i"
)
rem 確保輸出目錄存在(以檔名為資料夾)
if not exist "!output_dir!" mkdir "!output_dir!"
rem 批次匯出所有頁面
set i=0
for %%n in (!page_names!) do (
set "page_name=%%n"
"!drawio_path!" --crop -x -f jpg -p !i! -o "!output_dir!\%%n.jpg" "%%~f"
set /a i+=1
)
)
endlocal
pause