PDF 转长图用什么?我实测下来答案分两种情况。页数少就直接用浏览器里的工具,图映 ImgIng 或者某在线长图工具,一次就能拼好。两家都不用装软件,我测的时候文件也没出电脑。页数多的话这两个工具都会把长图整张缩小,界面上看不出任何提示。这时候要么拆成几段分别转,要么在电脑上渲染后自己拼。我用一份 8 页 A4 讲义测过:图映选 216 DPI 实际只得到约 175 DPI。某在线长图工具默认约 108 DPI。本地拼接是完整的 216 DPI。
先交代一下场景。我平时在内容公司做些技术杂活,编辑经常让我把讲义和活动说明这类 PDF 转成长图发到群里。群里的人都用手机看。PDF 要下载再打开,长图点开就能往下划,大家自然更愿意要长图。被问得最多的一句是「怎么转出来比 PDF 里糊」,问多了我才认真测了一轮。这次测试用的是我自己排版的 8 页 A4 讲义「野外观察入门」。每页底部各有一行 7pt 小字专门用来比清晰度。里面的两张照片用的是维基共享资源的图,许可 CC BY-SA 4.0。测试机是一台 M4 Mac,浏览器 Chromium 149,下面的秒数换台电脑会不一样。
选的 DPI 不等于拿到的 DPI
很多人转长图时会在工具里选一个清晰度档位,然后默认拿到的就是这个清晰度。我一开始也是这么想的。直到发现选 216 和选 300 导出来的文件一个字节都不差,我才意识到档位可能根本没生效。换成 JPG 再各导一次,216 和 300 还是一样大,都是 2.89 MB。判断方法很简单:拿长图的宽度除以 A4 页宽 8.264 英寸就是实际 DPI。图映 216 档导出的 8 页长图宽 1446 像素,除下来约 175。这才是它真正的清晰度。设置栏里显示的永远是你选的那一档,结果卡上写的才是最终尺寸,两边对一下才知道差了多少。后面所有对比我都用这个数,不看工具界面上写的档位。
选工具时对比这五项
| 对比项 | 为什么重要 |
|---|---|
| 实际 DPI | 档位可能没生效,小字清不清楚全看它 |
| 页数多时会不会缩 | 缩了界面不说,导出后才发现 |
| 支持的格式 | 影响体积,有的格式页数多了根本存不下 |
| 文件是否上传 | 讲义和报告里经常有不想外传的内容 |
| 页与页之间有没有间隔 | 影响阅读时能不能分清页 |
这五项里我最看重前两项。体积和格式转完一眼就能看到,实际 DPI 和会不会缩却藏在图片宽度里,不算一下发现不了。上传这一项因人而异,我测的三种做法都没把文件传出去,倒也不用太纠结。
方法一 用图映在浏览器里拼
图映 ImgIng 是个打开网页就能用的图片和文档工具。它的 PDF 转图片要在电脑浏览器上用,手机和平板上它只做图片压缩。打开 PDF 转图片后在页码范围里选「整份 PDF · 拼接成一张长图」,再选清晰度和格式导出就行。清晰度有 144、216、300 三档,格式有 WebP、JPG、PNG、AVIF 四种。
8 页讲义在图映里的结果我列成了表,耗时是在我这台机器上量的:
| 档位和格式 | 长图尺寸 | 体积 | 耗时 |
|---|---|---|---|
| 144 档 WebP | 1190×13472 | 1.26 MB | 3.0 秒 |
| 216 档 WebP | 1446×16376 | 1.68 MB | 3.5 秒 |
| 300 档 WebP | 1446×16376 | 1.68 MB(与 216 档逐字节相同) | 3.8 秒 |
| 216 档 JPG | 1446×16376 | 2.89 MB | 1.5 秒 |
| 216 档 PNG | 1446×16376 | 11.0 MB | 2.0 秒 |
| 216 档 AVIF | 1446×16376 | 1.07 MB | 6.3 秒 |
表里最该看的是第二、三行。300 档和 216 档的尺寸、体积一模一样,选高档位没有换来任何东西。AVIF 体积最小但最慢,日常发群我会选 WebP。PNG 的 11.0 MB 发群太大,除非想留一份底稿。整个过程我开着浏览器的网络记录看请求,两轮 51 个任务里没有出现上传文件的请求。处理完它不会自动下载,右侧先提示「处理完成,结果尚未保存」,要自己点「保存这张图片」。结果卡上只写个数和体积,没有任何「已缩小」的字样。8 页存 JPG 那张我翻了首尾两页,没有水印。
方法二 用某在线长图工具一键拼
这个工具是我搜「PDF 转长图 在线」找到的,网页打开即用也不用注册。导出的长图首尾页都没有水印,页面上有广告。界面全是英文,选好文件点开始按钮,转完浏览器自动下载。设置项很少:格式只有 JPG 和 PNG 两种。它没有清晰度选项,只能选是否加页间距,另有深色和护眼两种阅读模式。8 页讲义用 JPG 导出是 892×10104 共 926 KB,1.5 秒完成,实际约 108 DPI。我同样看了它的网络请求。发出去的只有广告和统计请求,最大的一个 14.8 KB 比 678 KB 的 PDF 小得多。转换照常完成,说明 PDF 是在本地转的。页面上挂着统计脚本,介意这个的可以留意一下。

这张图里每一行是同一行 7pt 小字在不同长图中的样子,重点看第三行和第四行的差距。某在线长图工具这行原图只有 420×19 像素,能读出来但笔画发糊还带着 JPEG 噪点。本地 216 DPI 那行是 840×39 像素,四行里最清楚。图映 216 档这行是 681×32 像素,放大后也很清楚。8 页这个量用哪个网页工具都够发群。
方法三 在电脑上渲染后自己拼
这条路不依赖网页。我用开源的 MuPDF 把每页按 216 DPI 渲染成图,再用 Python 的 Pillow 库从上到下拼起来。8 页讲义拼出 1785×20208 的长图,正好是 216 DPI 应有的尺寸。渲染加拼接只用了 0.31 秒。保存为 JPG 是 2.8 MB,PNG 是 10.8 MB。保存为 WebP 时直接报错,提示尺寸超过 WebP 的 16383 像素上限。WebP 这个格式本身单边最大就是 16383。我推测两个网页工具缩图跟这类上限有关,具体怎么定的从外面看不出来。
这个方法的门槛在安装和脚本。MuPDF、Python 和 Pillow 都要自己装,拼接还要写几行代码。不写代码的话 Mac 自带的 sips 也不行,它转 PDF 只输出第 1 页的 595×842。系统的「预览」我记得只能逐页导出,这次没有实际操作。WPS、要上传的转换网站和小程序我都没测,就不写了。Mac 上系统自带的 PDF 渲染框架我也写代码试过,同样不缩图,能多存一种 HEIC,体积比 JPG 小一大截。可它要写 Swift,门槛比 Python 还高,普通读者基本用不上。
页数过了6页网页工具会缩图

看这张图时把三列从上往下对比。图映那列(蓝色)掉得最快,长图高度被限制在 16383 像素以内。它 20 页只剩 578 像素宽约 70 DPI。40 页是 289 宽约 35 DPI。60 页只有 192 宽约 23 DPI。某在线长图工具的高度上限是 27350。它 20 页还有约 108 DPI,40 页降到约 58,60 页约 39。本地拼接一直是 216。
按 16383 的上限推算 A4 在 216 DPI 下最多拼 6 页不缩,在 144 DPI 下最多 9 页。这两个数是算出来的,实测只做了 8、20、40、60 页四档。某在线长图工具页面上写着 50 页以上才调整分辨率,可我的 40 页样本已经被缩了。两个工具缩图时都不提示。图映结果卡上也只显示最终尺寸。速度倒是一点不拖,图映拼 20 页在我这台机器上 1.1 到 2.2 秒,60 页 3.9 到 6.7 秒,存 PNG 最慢。快是真快,可快不等于没缩,转完那一眼宽度还是得看。
单页超长的 PDF 也会撞上同一条线,比如做成 PDF 的竖版长海报。我拿一页 800×9000 pt 的长页试过:图映在「指定单页」下存 WebP,选 144、216、300 出来都是同一个 1456×16380,按页宽 11.11 英寸折算约 131 DPI。同一页换 JPG 或 PNG 就不受 16383 管了,216 档能出到 2385×26832,约 215 DPI。可到了「整份拼成长图」模式,JPG 和 PNG 也照样被压回 16383 以内,两个模式的口径不一样。某在线长图工具拼这一页是 1200×13500,还是约 108 DPI 的老样子。
三种方法对比下来各有适合的人
| 对比项 | 图映 ImgIng | 某在线长图工具 | 本地渲染拼接 |
|---|---|---|---|
| 处理位置 | 电脑浏览器本地(测试中未见上传) | 浏览器本地(测试中未见上传) | 本机 |
| 安装要求 | 无 | 无 | MuPDF、Python、Pillow |
| 清晰度档位 | 144 / 216 / 300 | 无 | 自定 |
| 8 页实际 DPI | 约 175 | 约 108 | 216 |
| 页数多时 | 等比缩到高 16383 内(无提示) | 等比缩到高 27350 内(无提示) | 不缩 |
| 格式 | WebP / JPG / PNG / AVIF | JPG / PNG | JPG / PNG(WebP 报错) |
| 8 页 JPG 体积 | 2.89 MB | 926 KB | 2.8 MB |
| 页间距 | 页页相接 | 可加 30 像素白条 | 页页相接 |
| 适合谁 | 在电脑上处理、不想上传、想选清晰度或用 WebP | 页数少、只求快、想要页间分隔 | 页数多又必须保留原清晰度、会装环境 |
表里最容易误会的是格式那一行。本地拼接存 WebP 报错不是工具坏了,是 WebP 单边最多 16383 像素,图太高写不进去。两个网页工具不报错,我猜是先把图缩进了各自的线内,再交给编码器。页间距这一项实际差别不大。页页相接的长图看起来也有空白,那是 PDF 本身的页边距。某在线长图工具加的 30 像素白条和页边一样白,混在一起不太看得出来。
6 页以内随便选,三个都能用。要清楚又不想上传就用图映,要快就用某在线长图工具。超过 6 页时导出后先看一眼图片宽度。A4 竖版只剩五六百像素宽的话小字基本就糊了,这时我会先把 PDF 拆成几段再分别转。20 页讲义拆成 4 段、每段 5 页,四张都是 216 DPI 合计 4.35 MB,宽度都是 1785,在群里一张接一张看,版面宽窄完全一致,看的人不会觉得是几份不同的文件拼凑起来的。不拆的话一整张 986 KB 但只剩约 70 DPI。图映没有按页码区间导出的选项,拆分要先用别的 PDF 工具。页数多还非要一张图且不能降清晰度的话只能用本地渲染拼接,存 JPG 或 PNG。
常见问题
为什么选 300 DPI 和 216 DPI 导出的长图一样?8 页 A4 在 216 DPI 下已经超过 16383 像素高。工具把整张缩回上限以内,选 300 也缩到同一尺寸,两个文件逐字节相同。
长图发到手机上能看清吗?我只在电脑上用 iPhone 13 的屏幕尺寸模拟过,没用真机也没在微信里测。长图铺满屏宽时 10.5pt 正文约 7 像素高,7pt 小字必须放大。放大 3 倍后 8 页长图的小字清楚。20 页发糊,60 页认不出。
怎么确认转长图时 PDF 没有被上传?按 F12 打开开发者工具的网络面板,转换时看有没有和 PDF 体积相当的请求发出去。我测的图映和某在线长图工具都没有。
长海报这种单页 PDF 也会被缩吗?会,只要那一页够长。前面那张 800×9000 pt 的长页在图映里存 WebP 只剩约 131 DPI,换 JPG 能到约 215 DPI。
哪种格式体积最小?这份讲义上 AVIF 最小(1.07 MB)但最慢。WebP 1.68 MB 比较均衡。PNG 11.0 MB 最大。
我现在的习惯是导出后先看宽度再发,宽度不够就拆开重转。