← 退出

PDF 转图片

PDF 每页导出为 PNG 图片

选择 PDF 文件

关于PDF 转图片

需要把 PDF 的某几页变成图片,比如放进 PPT、发到不能预览 PDF 的聊天里,或者做成素材,可以用这个工具。它用 PDF.js 把每一页渲染成 PNG,先在页面上显示缩略图,再让你勾选要保留的页,单页下载或打包成 ZIP。输出格式只有 PNG,分辨率固定,没有可调的清晰度或格式选项。

操作步骤

  1. 点击「点击上传 PDF」选择文件;期间界面显示「正在渲染页面…」,上传框暂时不可用。
  2. 渲染完成后会出现缩略图网格,标题写着「共 N 页,已选 M 页」,默认全部选中。点图片或左上角的方框可切换选中,「取消全选/全选」可整体切换。
  3. 点右下角的「第N页」按钮可单独下载该页;点「打包下载已选页面」则把所有选中页放进一个 ZIP。

输出的是什么样的图片

渲染比例固定为 2 倍,而 PDF 页面的 1 倍是 72 点/英寸,所以相当于约 144 dpi。以常见的 A4(595×842 pt)为例,每页图片大约是 1190×1684 像素。这足以在屏幕上看清正文,但如果要拿去高精度印刷或放大查看小字,分辨率偏低,而且无法调高。文件命名规则为「原文件名-page页码.png」,ZIP 则叫「原文件名-pages.zip」;页码没有补零,所以第 10 页在按名称排序时会排在第 2 页前面。

支持范围与已知限制

  • 所有页面会在上传后一次性全部渲染,并以 PNG 数据保存在内存里。页数多、页面尺寸大(如工程图、海报)时,会占用大量内存并且耗时较长,手机上尤其容易卡死,此时建议先用 PDF 分割工具截出需要的页。
  • 带密码的加密 PDF 无法打开,提示为「解析 PDF 失败,请确认文件未损坏且不是加密文档」,没有输入密码的入口。
  • 文件损坏、非 PDF 同样触发这条提示。
  • 渲染结果取决于 PDF.js 对字体和图形的支持,个别用特殊字体或复杂矢量的文件可能与原阅读器显示略有出入。
  • 选择新文件会清空当前结果;ZIP 打包在选中页较多时也需要一点时间,期间按钮没有进度提示。

为什么上传后等了很久?

因为它要把每一页都渲染完才会显示结果,而不是按需渲染。页数越多、页面越大越慢。

能导出成 JPG 或调高清晰度吗?

不能。目前只有 PNG,放大倍数固定为 2。

提示解析失败怎么办?

先确认文件能在别的阅读器打开;如果设有打开密码,需要先取消保护再上传。

只要一页怎么拿?

直接点缩略图上的「第N页」按钮即可,不用走 ZIP。需要多页时再用打包下载,一次只触发一次下载,不会被浏览器当成连续下载拦截。

文件会被上传吗?

不会。代码里没有上传请求,渲染和打包都在浏览器里完成。PDF.js 的后台处理脚本和 JSZip 随网站一起提供,不来自第三方服务器。