PDF 工具

如何把 PDF 页面转换为高清 JPG 和 PNG 图片

把 PDF 的每一页转换成 PNG 或 JPG 文件,分辨率大约是屏幕的两倍,文档全程不会离开您的浏览器。

实际能拿到多高的分辨率

PDF 页面以点为单位计量,每英寸 72 点。渲染器按两倍的比例绘制每一页,所以原稿的每一英寸都变成 144 像素。一张美国信纸大小的页面渲染出来大约是 1224×1584 像素,A4 页面大约是 1191×1684 像素。这样的清晰度足以用在幻灯片、网页里的嵌入图、论坛帖子,或者错误报告里的截图,不管您选 PNG 还是 JPG,得到的都是这个清晰度。

它不是 300 DPI,也没有哪个输入框能让您填 300。缩放比例是固定的。还有一点要知道:这个工具只是把页面渲染出来,并不会深入文件内部去抓取里面已经有的图片。如果某一页里嵌了一张 600 DPI 的扫描图,您拿到的是这张扫描图按 144 像素每英寸渲染的结果,而不是原图本身的分辨率。

PNG 还是 JPG,以及透明度的坑

JPG 输出会在画布上先铺一层白色再绘制页面,然后以 0.92 的质量编码。文件小,图片多的页面效果好,凑近放大看,锐利的黑色文字边缘会带一点淡淡的光晕。

PNG 是无损的,也不会铺白底。大多数 PDF 从不绘制自己的背景,这意味着您拿到的 PNG 背景是透明的。把它放在白色幻灯片上,效果完美。把它放在深色幻灯片上,文字就会消失在背景里,还有些看图软件会把透明部分显示成纯黑色。如果后续要把这张图放到某种颜色背景上,就选 JPG,或者自己先把 PNG 铺上白底再用。

每一页都给您,打包在一个 ZIP 里

这个工具会渲染整份文档,把结果打包进一个 ZIP,每页一张图片,文件名是原文件名加页码。没有页码范围这个选项。哪怕您只想要一份 80 页报告里的第 47 页,也会拿到全部 80 张图片,自己从里面找需要的那张。它一次处理一个 PDF,最大 100 MB。

转成图片要付出什么代价

把一个页面变成这个页面的图片,会永久丢掉好几样东西:

  • 文字不再是文字。您没法搜索、选中或复制它,屏幕阅读器也没有可读的内容。以后再用 OCR 处理,等于在猜测原本已经精确记录过的字符。
  • 链接、表单字段、批注和书签全部消失,只留下看得见的墨迹。
  • 矢量图形会按 144 像素每英寸固定下来。原本可以无限缩放的图表和细线条,放大后就会出现明显的锯齿边缘。
  • 文件体积常常不减反增。一页纯黑色文字存成 PNG,很容易比它出自的整份 PDF 还要大,因为 PDF 只存了几 KB 的字形指令,而 PNG 要存 200 万个像素。

哪里会变慢

页面是一张接一张渲染的,每张渲染好的图片都会留在标签页的内存里,直到整批打包成 ZIP。文档短的话瞬间就好。几百页的文档是完全不同的体验:渲染循环本身就是最慢的部分,而内存是您最先撞上的那堵墙。手机的内存比笔记本电脑更早耗尽。如果长文档卡住了标签页,就关掉其他标签页再试一次,或者先把 PDF 拆分开。

这一切都不经过服务器。渲染就在您已经打开的这个页面里运行,所以您的文档从不会被传出去。渲染引擎会在您第一次使用这个工具时从公共 CDN 下载,是一个脚本传到您这里,而不是一个文件从您这里传出去。

什么时候桌面工具是更好的答案

凡是要送印刷的内容,都需要一个真正的命令行渲染器。Ghostscript 和 pdftoppm 能让您直接指定分辨率,只要第 12 到 18 页,还能直接渲染成 CMYK,让印刷厂拿到它期望的格式。对包含成百上千个文件的文件夹做夜间批处理任务也是同样的道理,或者按原始分辨率把内嵌图片提取出来,而不是提取它们的渲染结果,这是另一种操作,需要另一套工具。如果只是想在今天下午把几页内容粘贴到演示文稿里,论省事,还是浏览器更胜一筹。

动手试试

PDF 转图片会把您 PDF 里的每一页保存成图片文件,就在这个标签页里完成,不会上传任何内容。

打开 PDF 转图片