PDF网页优化
为快速Web查看重建PDF,文档其余部分还在下载时,第一页就能显示出来。
把文件拖到这里
.pdf · 最大300 MB
如何优化PDF
- 1
拖入PDF
添加一个文件,或最多二十个。文件由你自己的浏览器打开,不会发送到服务器。
- 2
选择网页配置
保留默认的“网页”配置,会重建对象流并删除没有被引用的资源;选择“仅结构”,只移动各个表,内容的每个字节都不动。
- 3
下载线性化后的文件
保存结果,放到你的网站上。多个文件会打包成一个ZIP压缩包返回。
线性化改变了什么
普通PDF把交叉引用表放在文件最末尾,阅读器必须先取到文件的最后几个字节,才能开始绘制内容。线性化会重写文件,把目录、提示表和第一页需要的所有对象按阅读顺序放到最前面。支持字节范围请求的Web服务器可以先发送开头的几KB,访问者马上就能看到第一页,其余页面在后台陆续到达。页面里的内容一概不动:文字、字体、矢量图形和图像数据逐字节原样复制,页数、书签、链接和表单字段也都会保留。
两种配置,一个选择
“网页”配置还会把零散的对象收进对象流,并丢弃已经没有任何页面引用的资源,通常能省下百分之几的大小。“仅结构”只做一次线性化,对已签名或已认证的文档更稳妥,因为重新组合对象可能让签名失效。无论选哪种,qpdf都会重建整个文件,所以不稳定的交叉引用表也会在这个过程中顺带修复。
文件始终不离开你的浏览器
qpdf编译成了WebAssembly,在这个页面里运行。文档读入浏览器内存,在那里重建,再直接作为下载交还给你。没有任何上传,不在服务器上排队,事后也没有需要谁去删除的副本。关掉标签页,文件就没了。
常见问题
PDF的快速Web查看是什么?
就是以线性化形式保存的PDF。绘制第一页所需的数据被移到文件开头,浏览器只需下载文档的一小部分就能显示这一页,不必等整个文件下载完。
为什么优化后文件反而变大了?
因为线性化会添加提示表和第二个交叉引用段,用来说明各部分的位置。小文档上,这部分开销可能超过节省下来的空间,让文件大百分之几。这是马上显示第一页的代价,文件本身仍然有效。
会降低图片或文字的质量吗?
不会。没有任何内容重新渲染、重新采样或重新编码。图像流和字体程序原样复制,所以文档在任何缩放比例下看起来都一样,文字层仍然可以选中和搜索。
线性化对打印有用吗?
用处不大。打印驱动在开始打印前会读取整个文件,所以重新排序对打印机没有帮助。它在文档通过网络传输、阅读器可以请求字节范围时才有意义,所以叫快速Web查看。
这和PDF压缩有什么区别?
压缩让文件变小,通常是用较低的质量重新编码图片。这个工具重新排列文件,让它更早开始显示,内容不动。两者解决的是不同的问题,先压缩再做网页优化,效果很好。
所有浏览器都支持快速Web查看吗?
主流阅读器都能识别线性化文件,包括Chrome、Safari、Firefox、Edge和Acrobat。要发挥作用,还需要你的Web服务器响应字节范围请求,几乎所有服务器默认都会。在忽略它的阅读器上,文件照常打开。
对象流是什么,为什么要开启?
对象流把许多小的内部对象打包成一个压缩块,让文件变小,也减少阅读器需要解析的片段数量。它是PDF 1.5规范的一部分,在“仅结构”配置中是关闭的。