跳转到内容

命令行工具

larrygram-cli · 1.0.0-alpha.1(未发布)

larrygram-cli 读取 Visio 绘图并输出摘要、渲染单个页面,或将所有页面导出为 PNG 或 SVG。它与应用使用同一个命令注册表(file.inspect、file.render、file.export),因此脚本看到的行为与人工操作一致。

只有 inspect 的输出和 --help 会写入标准输出。错误和警告写入标准错误,每条一行。

larrygram-cli - inspect, render and export Visio drawings
Usage:
larrygram-cli inspect <file> [--json] [--page N]
larrygram-cli render <file> --out <path> [--page N] [--format png|svg]
[--scale PPI] [--background #RRGGBB|none] [--strict]
larrygram-cli export <file> --out <dir> [--format png|svg] [--scale PPI]
[--strict]
larrygram-cli --help

在仓库中使用以下命令构建:

终端窗口
cargo build --release -p larrygram-cli
./target/release/larrygram-cli --help

汇总文档信息:文档类型、页面、主控形状、样式和主题。

参数 含义 默认值
--json 以单个 JSON 对象输出摘要 文本
--page N 只汇总一个页面,从 1 开始计数 所有页面
终端窗口
larrygram-cli inspect flowchart.vsdx
kind: drawing
pages: 2
1: Page-1 8.5 x 11 in, 3 shapes, 0 warnings
2: (unnamed) 11 x 8.5 in, 0 shapes, 2 warnings
masters: 1
styles: 4
themes: 1
warnings: 2

使用 --json 时,键名是稳定的:

{
"kind": "drawing",
"masters": 1,
"pages": [
{ "height": 11.0, "index": 1, "name": "Page-1", "shapes": 3, "warnings": 0, "width": 8.5 },
{ "height": 8.5, "index": 2, "name": "", "shapes": 0, "warnings": 2, "width": 11.0 }
],
"styles": 4,
"themes": 1,
"warnings": 2
}

kind 的值为 drawing、stencil 或 template。页面尺寸以英寸为单位。无法计算的尺寸为 0。

将单个页面渲染为 PNG 或 SVG 文件。

参数 含义 默认值
--out PATH 输出文件(必填) —
--page N 要渲染的页面,从 1 开始计数 第一页
--format png|svg 输出格式 根据 --out 的扩展名确定
--scale PPI 设备缩放比例,单位为每英寸像素数;必须为正数 96
--background C #RRGGBB 表示不透明颜色,none 表示透明 页面自身的背景
--strict 出现警告时以退出码 4 退出(文件仍会写入) 关闭
终端窗口
larrygram-cli render flowchart.vsdx --out page-1.png --scale 192
larrygram-cli render flowchart.vsdx --out page-2.svg --page 2 --background none

将文档的每个页面渲染到一个目录中。文件依次命名为 page-1.png、page-2.png 等。

参数 含义 默认值
--out DIR 输出目录(必填) —
--format png|svg 输出格式 png
--scale PPI 设备缩放比例,单位为每英寸像素数 96
--strict 出现警告时以退出码 4 退出 关闭
终端窗口
larrygram-cli export flowchart.vsdx --out pages/ --format svg
退出码 含义
0 成功
1 用法错误(参数有误)
2 输入错误:文件不存在、无法读取或无法解析
3 渲染或输出错误
4 出现警告且设置了 --strict

当某个绘图渲染时出现警告,让任务失败:

终端窗口
for f in diagrams/*.vsdx; do
larrygram-cli export "$f" --out "build/${f%.vsdx}" --format svg --strict || exit 1
done
在终端中检查绘图并渲染页面。

本页译自英文。如有表述不当之处,请告诉我们。