将 PDF 页面转换为 JPG 或 PNG
把 PDF 页面转换为图片只需点几下;但要得到足够清晰、体积又不过大的图片,就需要事先做些规划。本指南说明各质量级别对应的像素尺寸、什么时候 PNG 是更好的格式,以及如何解决常见问题。
什么时候适合把页面转换为图片
在不接受 PDF 或无法直接显示 PDF 的场合,页面的 JPG 或 PNG 图片就很有用:例如放进演示文稿、发到聊天或论坛帖子里、提交到只接受图片的上传表单,或作为网页上的文档缩略图。
如果目的是缩小文件(请参阅如何压缩 PDF)或提取其中的文字(请使用 PDF 转文本),转换为图片就不是合适的方法。图片中没有可选择的文字、链接或书签,因此请保留原始 PDF。
质量级别对应的像素尺寸
PDF 页面以“点”(point)为单位,每英寸 72 点;A4 页面约为 595 × 842 点。转换器所用的 PDF.js 库在缩放比例为 1 时按每点一个像素绘制页面,也就是页面每英寸 72 像素;缩放比例为 3 时则为 216 像素。LeedyBox 三个级别的基础缩放比例分别为 2、3 和 4。如果浏览器报告的设备像素比不超过 1.5(Windows 显示缩放为 100% 到 150% 的显示器通常属于这种情况),转换器会把基础缩放比例乘以 1.5;超过 1.5 时(大多数手机和平板电脑、Mac 的 Retina 屏幕,以及 Windows 显示缩放高于 150% 的情况)则乘以 1.2,因此同一设置在手机上得到的图片较小。下文中的“台式机”指像素比不超过 1.5 的情况,“手机”指像素比更高的情况。像素尺寸向下取整为整数:
| 清晰度 / 质量级别 | 像素比不超过 1.5 | 像素比超过 1.5 |
|---|---|---|
| 标准(文件较小) | 216 dpi;A4 约 1785 × 2525 像素 | 约 173 dpi;A4 约 1428 × 2020 像素 |
| 高(推荐) | 324 dpi;A4 约 2678 × 3788 像素 | 约 259 dpi;A4 约 2142 × 3030 像素 |
| 很高(文件最大) | 432 dpi;A4 约 3571 × 5051 像素 | 约 346 dpi;A4 约 2857 × 4041 像素 |
美国 Letter 尺寸的页面(612 × 792 点)在台式机上以“高”级别转换,可得到 2754 × 3564 像素。横向页面的宽和高互换;由于不同程序存储 A4 尺寸时使用的小数略有差异,不同 PDF 的确切尺寸可能相差一两个像素。每转换一页都会重新读取像素比,而在某些桌面浏览器中,页面缩放会改变像素比,因此如果希望尺寸可以预测,请保持默认的页面缩放。
“很高”的像素数是“标准”的四倍。在台式机上以“很高”级别转换一页 A4,约有 1800 万像素;按每像素 4 字节计算,在编码成图片文件之前,仅绘图画布本身就需要约 72 MB 内存。另请参阅调整图片尺寸:像素、宽高比与 DPI。
页面图片用 JPG 还是 PNG
JPG 是默认格式,以固定质量 0.95 保存(按浏览器 0 到 1 的取值范围);“清晰度 / 质量级别”菜单改变的是像素尺寸,而不是 JPG 的压缩程度。白底黑字的锐利字母边缘对 JPG 来说很难压缩,还可能在字母周围留下淡淡的杂点;而无损的 PNG 能把页面上大片的纯白区域压缩得很好。
在我们的测试中(两页 A4 以 324 dpi 渲染,使用的是 Poppler 库而不是 PDF.js,再用 Python 的 Pillow 库保存:JPG 质量为 95,PNG 使用默认设置),一页正文文字保存为 JPG 约 2 MB,保存为 PNG 约 600 KB;一页含柱状图和表格的页面则分别约为 700 KB 和 270 KB。各浏览器的渲染和编码方式不同,其 PNG 编码器也可能更看重速度而不是文件大小,因此您得到的文件会有所不同;尽管如此,对于文字页和图表页,PNG 往往既更清晰又更小。
照片、扫描件和渐变会让 PNG 文件变得很大,这类内容请选择 JPG。两种格式得到的都是白色页面背景,而不是透明背景。每次点击时都会重新读取设置,因此借助每个预览下方的“下载”按钮,同一个 PDF 可以把图表页保存为 PNG,把照片页保存为 JPG。关于这几种格式的总体比较,请参阅JPG、PNG、WebP 与 AVIF 对比。
在 LeedyBox 中分步操作
- 打开 PDF 转 JPG,在选择 PDF 文件或拖放到此处区域选择或拖入一个 PDF。如果拖入多个文件,只会使用第一个;其他类型的文件会被拒绝。
- 等待每一页的预览绘制完成;在所有预览准备好之前,进度条会一直显示“正在分析 PDF 文档...”,因此页数多的文档需要等待更久。之后会显示文件名、大小和页数。
- 设置图像格式:JPG(推荐)或PNG(无损且清晰)。
- 设置清晰度 / 质量级别:标准(文件较小)、默认的高(推荐),或很高(文件最大)。
- 点击转换所有页面并下载 ZIP,或点击某个预览下方的下载。以 report.pdf 为例,会得到 report_images.zip,其中包含 report_page_1.jpg、report_page_2.jpg 等;单独下载某一页时,得到的文件名类似 report_page_3.jpg。
预览以每英寸 36 像素绘制,并以压缩过的 JPG 显示,因此请根据下载后的图片判断清晰度。如需换一个 PDF 重新开始,请点击更换文件。
常见用途的设置选择
| 用途 | 格式 | 级别 | 原因 |
|---|---|---|---|
| 放进演示文稿的页面或图表 | PNG(照片用 JPG) | 高 | 留有裁出局部细节的余地 |
| 聊天或网页 | JPG,文字页用 PNG | 标准 | 文件较小;再缩放到显示宽度 |
| 打印页面 | PNG 或 JPG | 高;在手机上用“很高” | 按打印尺寸约每英寸 300 像素 |
| 小字、精细的图纸 | PNG | 很高 | 细节最多,文件最大 |
| 扫描版 PDF | JPG | 最接近扫描 dpi 的级别 | 以更高分辨率渲染只会增加像素,不会增加细节 |
以演示文稿为例:16:9 的幻灯片在全高清屏幕上显示为 1920 × 1080 像素。一整页 A4 以幻灯片的全高显示时,只需要 1080 像素的高度;但如果从页面中裁出一张图表并铺满整个幻灯片宽度,图表本身就需要约 1920 像素宽。在页边距为 2.5 厘米的 A4 页面上,占满正文宽度的图表覆盖页面 21 厘米宽度中的 16 厘米,因此在台式机上以“标准”级别转换时约为 1360 像素宽(不够),以“高”级别转换时约为 2040 像素宽(足够)。在手机上,“高”级别约为 1630 像素,因此请选择“很高”(约 2180 像素)。
打印时,A4 按每英寸 300 像素计算约需 2480 × 3508 像素,美国 Letter 尺寸约需 2550 × 3300 像素。在台式机上,“高”级别两者都能满足;在手机上请选择“很高”(约 346 dpi)。相比之下,以 300 dpi 扫描的页面,其细节在扫描时就已确定,“很高”只会把它的像素放大。
常见问题排查
- 小字看起来发虚。请以实际尺寸查看图片,并尝试更高的级别。如果在 PDF 中放大时字母就已经呈现明显的像素块,那么该页很可能是扫描件或文字的图片,任何设置都无法补出原本不存在的细节。
- 图片太大。文字页可以试试 PNG,或者选择“标准”,然后用图片尺寸调整或图片压缩来满足上传大小限制。
- 只需要其中几页。使用各预览下方的“下载”,或者先用拆分 PDF 提取一个页面范围:例如只取一份 80 页报告的第 5–12 页,就只会得到 8 张图片,而不是 80 张。拆分 PDF 会把该范围保存为 report_extracted.pdf,其页码从 1 重新开始,因此图片名为 report_extracted_page_1.jpg 到 report_extracted_page_8.jpg。
- 提示“……是浏览器无法读取或已损坏的 PDF 文件”。文件可能已损坏,或者需要密码才能打开,而本转换器没有输入密码的地方。如果您有权这样做,请在可以输入密码的应用程序中另存一份不带密码的副本。
- 页面是横着的。图片会遵循页面的旋转设置,而扫描或制作时就是横着的页面,转换后仍然是横着的。可以用旋转 PDF 修正(参阅如何重新排序、旋转和删除 PDF 页面),也可以用图片旋转与翻转旋转图片。
- 转换中途停止,或标签页重新加载。以较高级别转换大尺寸页面,可能会超出浏览器的内存或画布限制,在手机上尤其如此。ZIP 也是在标签页的内存中打包的,因此在下载开始之前,所有页面图片都会保留在内存中。请使用较低的级别、逐页下载,或者先把较长的 PDF 拆分成几部分。
- 解压后顺序错乱。文件名中的页码没有前导零,因此有些程序会把 page_10 排在 page_2 前面。请按数字排序,或者重命名文件。
- 图片与 PDF 阅读器中的显示不一样。PDF 中未嵌入的字体会改用替代字体绘制,因此字形和字间距可能看起来不同;印刷颜色(CMYK)则由 PDF.js 转换为屏幕颜色,结果可能与您的阅读器的转换略有不同。
转换后要检查什么
- 图片数量与加载文件时显示的页数一致。
- 最小的文字和细线在实际尺寸下清晰可读。
- 方向正确,边缘没有内容被裁掉。
- 批注、图章、签名和表单字段的显示与 PDF 阅读器中一致。
LeedyBox 转换器的局限
- 一次只能转换一个 PDF,并且渲染的是整个页面;PDF 中嵌入的照片不会以原始分辨率单独保存。
- 没有页面范围选项,也没有单独的 JPG 质量设置。
- 转换器不会把渲染分辨率写入文件,因此图像编辑器可能会显示 72 或 96 dpi 之类的默认值。决定打印尺寸的是像素数。
- ZIP 不会进一步压缩图片,因此其大小约等于所有图片的总和。
常见问题
把 PDF 转换为 JPG 会让文件变小吗?
对于文字文档,通常不会,因为文字和矢量图形在 PDF 中的存储非常紧凑。上文测试中的那页正文原本是 3 KB 的 PDF,以 324 dpi 转换后变成了 600 KB 的 PNG 和 2 MB 的 JPG。要缩小 PDF,请参阅如何压缩 PDF。
可以只保存 PDF 中的某一张图片吗?
以“高”或“很高”级别转换该图片所在的页面,然后用图片裁剪把图片裁出来。结果的分辨率取决于渲染分辨率,可能高于也可能低于 PDF 中嵌入的原图。
可以把图片再转换回 PDF 吗?
可以,使用 JPG 转 PDF 即可,但文字仍然是图片的一部分,无法选择或搜索。图片转文字(OCR)可以识别图片中的文字。
我的 PDF 会上传到 LeedyBox 吗?
转换器在您的浏览器中用 PDF.js 渲染 PDF,并通过浏览器的下载功能保存图片;它的代码不会把文件发送到 LeedyBox。页面所用的库直接从 leedybox.com 加载,这些请求中不包含您的文档。