Table Image

📊 告别 ASCII 表格错乱,一键生成清爽图片

用纯 Node.js 生成 PNG 表格图片,替代 Discord/Telegram 上显示残缺的 ASCII 表格,无需 Puppeteer,支持暗黑模式与自定义样式

收藏
15.3k
安装
3.4k
版本
1.3.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Table Image Generator 是一个轻量级 Node.js 脚本,将 JSON 数据渲染为整洁的 PNG 表格图片,专门解决 ASCII 表格在 Discord、Telegram、WhatsApp 等消息平台显示错乱的问题。

调用方式:通过命令行传入 JSON 数据,支持 --data 参数、管道输入或 --data-file 文件路径。推荐用 heredoc 或临时文件避免 shell 引号转义问题。关键选项包括 --dark 暗黑模式(适配 Discord 主题)、--columns 列筛选、--headers 自定义表头、--align 对齐方式等。

技术栈:基于 Sharp 库实现 SVG 到 PNG 的转换,无需 Puppeteer 或原生 Canvas 依赖,可在 Fly.io、Docker 等容器环境直接运行,生成耗时通常 <100ms。

显著优点

  • 平台兼容性:图片格式在任何消息客户端显示一致,彻底解决 ASCII 表格换行错位
  • 轻量部署:纯 Node.js + Sharp,无浏览器依赖,镜像体积小,启动快
  • 样式灵活:内置暗黑/亮色主题、斑马纹、自定义配色、字体大小、紧凑模式
  • 智能布局:自动列宽调整,数字默认右对齐,超长文本自动截断

潜在局限

  • 静态输出:仅生成 PNG 图片,不支持交互筛选、排序或点击操作
  • 数据规模:受 --max-width 和内存限制,超宽表格需横向压缩或拆分
  • 样式深度:相比网页表格,缺乏 CSS 级精细控制(如悬停效果、嵌套单元格)
  • 依赖 Sharp:虽轻量但仍需原生图像库,极精简环境(如某些边缘函数)可能受限

适合人群

  • Discord/Telegram 机器人开发者,需要展示结构化数据
  • 运维人员通过聊天工具推送监控报表、价格列表
  • 数据分析师快速生成可分享的对比表格截图

常规风险

  • 数据注入:若将用户输入直接拼接到 --data 参数,需防范 shell 注入;推荐始终使用 --data-file 或管道方式
  • 敏感信息:输出 PNG 可能包含机密数据,需确认传输渠道安全
  • 磁盘/IO:频繁生成大尺寸图片可能占用临时存储,建议设置输出路径清理策略

Table Image 内容

scripts文件夹
手动下载zip · 17.8 kB
discord-wrap.mjstext/javascript
请选择文件