PDF 转图片工具
将 PDF 每一页转换为高清图片,支持 PNG/JPEG 格式
拖拽 PDF 文件到此处,或点击选择
支持 .pdf 格式文件
什么是在线 PDF 转图片工具?
PDF 转图片工具可以将 PDF 文档的每一页转换为独立的图片文件。本工具完全在浏览器端运行,使用 PDF.js 库解析 PDF,将每一页渲染到 Canvas 后导出为 PNG 或 JPEG 格式。支持调整分辨率倍率(1x/2x/3x),可选择特定页面转换,支持单张下载或打包 ZIP 下载。所有处理均在本地完成,不上传任何文件到服务器,保护您的隐私安全。
使用方法
使用方法
- 拖拽或点击上传 PDF 文件
- 选择输出格式(PNG 或 JPEG)
- 选择分辨率倍数(标准 / 高清 / 超高清)
- 选择转换页面(全部或自定义范围)
- 点击「开始转换」渲染所选页面
- 单独下载图片或打包为 ZIP 下载
输出质量
- 小字、图表或需要打印时可提高分辨率;分辨率越高,处理时间越长、文件越大。
- 下载前检查页码范围和旋转方向,尤其是扫描版 PDF。
使用场景
技术原理
PDF(ISO 32000-1,源自 Adobe 1993,派生自 PostScript)是一种页面描述语言,而非光栅格式。PDF 页面记录绘图操作——「填充此路径」「用该字体渲染此文本」「嵌入此 JPEG」——以及由 'm'(moveto)、'l'(lineto)、'Tj'(显示文本)等操作符组成的内容流。PDF 语法还引用资源:字体、图像、色彩空间(DeviceRGB、DeviceCMYK、ICCBased)和着色图案。光栅化 PDF 意味着按顺序解释这些操作符,维护图形状态(CTM = 当前变换矩阵、当前颜色、当前字体),并在选定分辨率下绘制到位图上。 本页使用 Mozilla 的 PDF.js(Mozilla Foundation,MPL-2.0,自 2011 年以来事实上的浏览器端 PDF 引擎)。PDF.js 解析交叉引用表和 trailer,遍历对象树,将内容流解码为操作符,解析所有资源,然后发出指向 HTMLCanvasElement 的绘制调用。输出随后通过 canvas.toBlob() 编码为 PNG(无损)或 JPEG(有损)。 视口缩放将 PDF 用户单位映射到像素。PDF 用户单位默认为 1/72 英寸(1 pt = 1/72 in),因此 1x 视口(PDF.js 中的屏幕默认值)对应 72 DPI,而非 96 DPI——96 DPI 的「屏幕」参考是 Windows / CSS 参考像素,不是 PDF 坐标系。缩放 1x = 72 DPI,2x = 144 DPI,3x = 216 DPI。本工具提供 1x / 2x / 3x 三档;如需更高的印刷级 DPI,请使用 ImageMagick、pdftoppm 等桌面工具。选择合适的缩放取决于用途:网页预览 1x,高清屏幕 2x,细节查看或打印校样 3x。 渲染质量取决于 PDF 内容。纯矢量内容(文本、路径、填充)在任何 DPI 下都能清晰重绘。嵌入字体作为字体子集提取使用(Type 1、TrueType、CFF、通过 OpenType-SFNT 的 OpenType,PDF 1.6+ 以上)——如果字体缺失或子集不完整,页面会回退到系统字体,字形可能渲染为「豆腐块」(☐)。扫描版 PDF 每页嵌入单张位图(通常为 JPEG 或 JBIG2);提高 DPI 不会使其更清晰,因为源已经是光栅图,放大只是插值。正确做法是对位图使用 OCR(Tesseract、AWS Textract),而非更高分辨率的光栅化。 JPEG 质量参数:0.92 在正常观看距离下几乎与无损无异,0.85 是常见的「适合 Web」默认值,文件比 0.92 小 4-6 倍,0.75 适合缩略图,0.50 开始在文本周围出现 8×8 DCT 块状伪影。PNG 保持边缘锐利,但对于照片内容同等感知质量下比 JPEG 大 3-5 倍。对于文字为主的 PDF,PNG 是正确选择;对于照片,选择 0.85-0.92 的 JPEG。
- PDF 是 ISO 32000-1(Adobe 1993,派生自 PostScript):一种页面描述语言,包含 'm'(moveto)、'l'(lineto)、'Tj'(显示文本)等操作符和资源(字体、图像、色彩空间)。它不是光栅格式。
- PDF.js(Mozilla,MPL-2.0)自 2011 年以来是事实上的浏览器端 PDF 引擎:解析 xref 表,遍历对象树,解码内容流,解析资源,发出 Canvas 绘制调用。
- PDF 用户单位:默认 1/72 英寸(1 pt = 1/72 in),因此视口缩放 1x = 72 DPI,2x = 144 DPI,3x = 216 DPI。96 DPI 是 Windows / CSS 像素概念,不是 PDF 概念。本工具提供 1x / 2x / 3x;更高的印刷级 DPI 需要桌面工具。
- 根据用途选择缩放:网页预览 1x(72 DPI),高清屏幕 2x(144 DPI),细节查看或打印校样 3x(216 DPI)。US Letter(8.5×11 英寸)在 216 DPI 下为 1836×2376 像素;A4(210×297 mm)约为 1786×2526 像素。
- 矢量内容在任何 DPI 下都能清晰重绘;文本和路径使用嵌入字体子集(Type 1、TrueType、CFF、OpenType)。缺失字形回退到系统字体,渲染为豆腐块(☐)。
- 扫描版 PDF 每页嵌入位图(JPEG 或 JBIG2):提高 DPI 不会使其更清晰。应对光栅图使用 OCR(Tesseract、AWS Textract),而非更高分辨率的光栅化。
- JPEG 质量:0.92 接近无损,0.85「适合 Web」(推荐),0.75 用于缩略图,0.50 开始出现 8×8 DCT 块状伪影。PNG 保持文本边缘锐利,但照片内容下比 JPEG 大 3-5 倍。
- PDF.js 在浏览器主线程中将 PDF 内容流渲染到 HTMLCanvasElement,渲染完成后用 canvas.toBlob() 编码为 PNG 或 JPEG。
示例
单页 PDF 转 PNG
report.pdf(1 页) -> report-page-1.png
2 倍分辨率,文件约 800 KB,适合嵌入 PPT 或 Word多页 PDF 转 JPG
book.pdf(50 页) -> book-page-001.jpg ... book-page-050.jpg
质量 85%,打包成单个 ZIP,总大小约 12 MB提取合同的指定页
contract.pdf(20 页) -> 仅导出第 7、8、15 页(签字页、价格页、违约条款)
输入:7,8,15 适合只发给对应方,不泄露其他内容常见问题
PDF 会被上传吗?
不会。渲染使用浏览器内的 PDF.js——PDF 在本地解析和栅格化。文件字节不会离开你的设备。
支持哪些输出格式?
输出 PNG(无损,适合文字密集页面)或 JPEG(小体积,适合照片页面)。每页 PDF 生成一个图片文件。
渲染分辨率是多少?
本工具提供三档分辨率:1×(约 72 DPI,适合屏幕预览)、2×(约 144 DPI,适合高清显示)、3×(约 216 DPI,适合打印或细节查看)。如需更高分辨率,请使用桌面工具如 ImageMagick / pdftoppm。
支持加密 PDF 吗?
本工具暂不支持密码保护的 PDF。加密文件会解析失败,请先在 Acrobat 或其他工具中解除密码后再使用。仅有权限限制(禁止打印/复制)的 PDF 通常可以渲染查看。DRM 保护的 PDF(Adobe DRM)则无法处理。
为什么渲染出的图像与 Acrobat 中的 PDF 略有差异?
PDF.js 是与 Adobe 不同的渲染引擎。大多数页面完全一致,但在字体微调、渐变边缘和 CMYK→RGB 颜色转换上可能有细微差异。如果需要与 Acrobat 像素级一致的输出,请使用 Acrobat 自带的导出图像功能。
可以只导出特定页面吗?
大多数版本支持在渲染前选择页面范围(如 1-5、7、10)。只导出单页时直接指定页码即可。在长文档中只需要封面或某张图时很有用。
页数有上限吗?
受限于浏览器内存。在 3x 缩放下渲染 100 页以上会消耗大量 RAM;移动端浏览器可能崩溃。处理长文档时请分批渲染,或使用 ImageMagick、pdftoppm 等桌面工具。