作品 & 能力
网页转长图:Puppeteer 高清出图 + 小红书 3:4 切片
把网页、本地 HTML 文件或一张长图渲染成移动端宽度的高清 JPEG,再按固定比例自动切片。做出来是为了解决一个具体的麻烦:写好的文章想发小红书,手动截图、手动裁切、还总有文字被切成两半。
两条硬规则
这个工具从一开始就只服务两个目标,所有默认值都是围着它们定的。
一、图是给手机看的
- 宽度按手机屏走:默认 430(约等于 iPhone 14 Pro Max 的逻辑宽度)。不要为了「显得内容多」而加宽——宽度一大,图在手机上被整体缩小,字反而看不清。最多到 480。
- 清晰度要够:默认 2 倍图(视网膜级),追求更锐利可以 3 倍。低于 2 在高分屏上会发虚。
- 每屏别太挤:单张切片高度决定一屏的信息量,太长让人不停划,太短则切片零碎。
- 源 HTML 也得按手机排版:正文 ≥ 16px、行高 1.8~2、别用固定像素宽的大表格。PC 宽屏排版直接转图,出来一定是横向留白加小字。
验收标准很土但很好用:把图发到手机上,正文不用放大就能轻松读、没有横向滚动、没有被截断的文字。达不到就调参数重出。
二、默认就是小红书格式
- 3:4 竖版:小红书最主流、占屏最大的比例。切片高度按当前宽度自动推导,保证每张都是标准 3:4。
- 一组图尺寸统一:最后一张内容不足时,用页面背景色自动补白补到同样高度——否则小红书里会出现一张矮图被强行留白或裁切。
- 相邻图重叠:默认重叠 80px,让上一张的结尾和下一张的开头有交集,滑动阅读时不丢行。
- 自动清理旧图:每次运行前清空输出目录,确保这一组就是本次生成的,不混入历史残图。
三种输入模式
| 模式 | 做什么 | 典型场景 |
|---|---|---|
| 截图网页 | 加载在线网页后滚动截图 | 把一篇线上文章转成图片 |
| 截图本地 HTML | 走 file:// 加载本地文件后截图 | 自己排好版的 HTML 直接出图 |
| 切片长图 | 按原始宽度显示一张长图并切片 | 已有的长截图切成合规的一组 |
为什么不用现成的截图插件
浏览器插件能截长图,但做不到这三件事:批量(一条命令出一整组)、可控(宽度、倍率、切片高度、重叠像素都是参数)、格式统一(自动补白让一组图严格等大)。发内容是件重复劳动,重复劳动就该交给脚本。
这类活我能接
Puppeteer 这套东西能干的远不止截图:自动登录抓数据、批量生成海报 / 报表 PDF、定时巡检页面、把没有 API 的后台变成有 API 的。这个站点上的公众号文章列表、首页的文章数据就是这么抓来的。