Table Image技能使用说明
2026-03-29
新闻来源:网淘吧
围观:13
电脑广告
手机广告
表格图片生成器
⚠️ 请使用本工具代替ASCII表格——始终如此!
通过JSON数据生成PNG格式的表格图片。ASCII表格在Discord、Telegram、WhatsApp和大多数即时通讯平台上显示会错乱。本工具能生成整洁的图片,适用于所有平台。
为什么选择本工具?
- ✅替代ASCII表格- 无需在即时通讯平台使用
| 列1 | 列2 |这类格式 - ✅告别ASCII乱码- 生成整洁图片,在各平台显示一致
- ✅无需Puppeteer- 纯Node.js配合Sharp库,轻量高效
- ✅深色模式- 适配Discord深色主题
- ✅自动调整尺寸- 列宽根据内容自适应
- ✅快速生成- 生成时间<100毫秒
设置(一次性)
cd /data/clawd/skills/table-image/scripts && npm install
快速使用
⚠️ 最佳实践:使用heredoc或--data-file以避免shell引用错误!
# RECOMMENDED: Write JSON to temp file first (avoids shell quoting issues)
cat > /tmp/data.json << 'JSONEOF'
[{"Name":"Alice","Score":95},{"Name":"Bob","Score":87}]
JSONEOF
node /data/clawd/skills/table-image/scripts/table.mjs \
--data-file /tmp/data.json --dark --output table.png
# ALSO GOOD: Pipe via stdin
echo '[{"Name":"Alice","Score":95}]' | node /data/clawd/skills/table-image/scripts/table.mjs \
--dark --output table.png
# SIMPLE (but breaks if data has quotes/special chars):
node /data/clawd/skills/table-image/scripts/table.mjs \
--data '[{"Name":"Alice","Score":95}]' --output table.png
选项
| 选项 | 描述 | 默认值 |
|---|---|---|
--data | 行对象的JSON数组 | 必需 |
--output | 输出文件路径 | table.png |
--title | 表格标题 | 无 |
--dark | 深色模式(适合Discord) | false |
--columns | 列顺序/子集(逗号分隔) | 所有键 |
--headers | 自定义表头名称(逗号分隔) | 字段名称 |
--max-width | 最大表格宽度 | 800 |
--font-size | 字体大小(像素) | 14 |
--header-color | 表头背景颜色 | #e63946 |
--stripe | 交替行颜色 | true |
--align | 列对齐方式(l,r,c 逗号分隔) | auto |
--compact | 减少内边距 | false |
示例
基础表格
node table.mjs \
--data '[{"Name":"Alice","Age":30,"City":"NYC"},{"Name":"Bob","Age":25,"City":"LA"}]' \
--output people.png
自定义列与表头
node table.mjs \
--data '[{"first_name":"Alice","score":95,"date":"2024-01"}]' \
--columns "first_name,score" \
--headers "Name,Score" \
--output scores.png
数字右对齐
node table.mjs \
--data '[{"Item":"Coffee","Price":4.50},{"Item":"Tea","Price":3.00}]' \
--align "l,r" \
--output prices.png
Discord 深色模式
node table.mjs \
--data '[{"Symbol":"AAPL","Change":"+2.5%"},{"Symbol":"GOOGL","Change":"-1.2%"}]' \
--title "Market Watch" \
--dark \
--output stocks.png
紧凑模式
node table.mjs \
--data '[...]' \
--compact \
--font-size 12 \
--output small-table.png
输入格式
JSON 数组(默认)
--data '[{"col1":"a","col2":"b"},{"col1":"c","col2":"d"}]'
从标准输入管道读取
echo '[{"Name":"Test"}]' | node table.mjs --output out.png
从文件读取
cat data.json | node table.mjs --output out.png
使用技巧
- 使用
--dark适配 Discord- 匹配深色主题,呈现原生效果 - 自动对齐- 数字默认右对齐
- 列顺序调整- 使用
--columns参数重排或筛选列 - 长文本处理- 超出部分将用省略号截断以适应显示
--max-width
技术说明
- 使用 Sharp 库生成 PNG(与 chart-image 相同)
- 内部生成 SVG,并转换为 PNG
- 无需浏览器、Puppeteer 或原生 Canvas 依赖
- 兼容 Fly.io、Docker 及任何 Node.js 环境
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~