Linux OFD / ZIP 文件缩略图
本程序仅支持 Linux。
使用本工具处理文档前,请阅读项目根目录的 免责声明。本工具不保证缩略图结果适用于特定业务、法律或合规场景。
用法
ofd-thumbnailer <输入文件> <输出 PNG 路径> <长边像素>
输入按扩展名判断:.ofd(不区分大小写)渲染文档的第一页;.zip 按包内条目顺序
取第一张可以解码的图片生成缩略图,损坏的图片条目会跳过。其它扩展名也尝试按 ZIP
包读取,不直接读取独立的 PNG/JPEG 等图片文件。
长边像素必须在 1 到 4096 之间,保持宽高比。OFD 在栅格化前按目标尺寸计算
分辨率,页面栅格最多 4096 × 4096 像素;无法在预算内渲染的页面尺寸或比例会报错。
输出始终采用 PNG 编码,文件名可以没有扩展名。输入输出不能指向同一文件,包括
符号链接和硬链接;编码成功后才原子替换输出文件。
安装
- 编译
go build -o ofd-thumbnailer .
- 安装
sudo ./install.sh
安装后命令为 zc310-ofd-thumbnailer,桌面缩略图配置安装到
/usr/share/thumbnailers/zc310-ofd.thumbnailer。
退出码
| 退出码 |
含义 |
0 |
缩略图生成成功 |
1 |
失败:参数个数不对、尺寸超出 1–4096、输入输出为同一文件、页面无法安全渲染、输入读取或图片解码失败、输出写不了、超时(60 秒) |
只有 0 与 1 两档:freedesktop 缩略图规范只要求「成功返回 0、失败返回非 0」,
桌面环境据此决定是采用新缩略图还是继续用旧的,因此参数错误与渲染失败不再细分。
诊断信息只有一行 slog 错误日志(标准错误),不写文件;退出码本身不携带原因,
排查要看这行日志。
渲染 OFD 需要可用的中文字体等渲染依赖;缩略图命令超时固定 60 秒,避免大文档卡住
文件管理器。
截图
