Sanye Hub

pdf.js 网页压缩大 PDF 卡顿怎么办?

在网页里打开或「压缩」大 PDF 时,若底层是 pdf.js 把整页渲成位图,几十兆、上百页文件很容易把标签页拖死:滚动掉帧、风扇狂转,甚至进程崩溃。这不是「网速慢」,而是浏览器内存与主线程算力被占满。

pdf.js 网页压缩大 PDF 卡顿怎么办?

怎么办

  • 先压体积再预览:用会「只压 PDF 内嵌图片、不整页栅格化」的压缩(如本站 PDF 压缩),把扫描图/导出位图变小后再用预览器打开。
  • 换预览策略:需要看大稿时用 PDF 预览(粗底图 + 视口精渲),避免一次性精渲全书。
  • 拆页 / 降采样源文件:上百页合同先拆段;设计导出时降低栅格 PPI。
  • 别在弱设备硬扛:手机或 8GB 内存机器打开 100MB+ 图多 PDF,优先服务端或桌面工具处理。

为什么会卡

  • pdf.js 默认按页栅格化,分辨率一高,单页位图就很大。
  • 大文件若同时解码多页、或边预览边编码,主线程长时间忙碌。

常见问题

网页压缩一定要用 pdf.js 吗?

不一定。很多「在线压缩」会上传到服务器重编码;也有工具只处理 PDF 内嵌位图,不必整页渲染。选工具时看说明是否「栅格化整页」。

多大的 PDF 容易卡?

没有绝对阈值。图多、页多、单页尺寸大的文件更危险。常见体验:几十兆扫描件在手机浏览器预览就会卡;百兆 Figma 导出在普通笔记本精渲也会抖。

压缩后文字还能选吗?

若压缩只动内嵌位图、不把整页画成图,矢量与文字层通常能保留。整页栅格化方案往往会变成「纯图片 PDF」,文字不可选。