这一页的压缩 PDF,意思是把每一页重画成 JPEG 图片,再把这些图片包进一份新 PDF。减小 PDF 体积是同一个动作。这是不把文件送到服务器、又能缩小扫描件或照片型 PDF 的可靠办法。用来缩小一份本来只有几十 KB 真文字的合同,则是笨办法,表单在你开始之前就把这件事写明了。原文件留在你的磁盘上。下载是第二份文件。第二份更差,就删掉它。
画质取舍就是这个工具的全部。JPEG 是图片。页面一旦变成图片,字母就是像素。你不能高亮一句话,屏幕阅读器读不出这些字,原来真正的 PDF 链接也不在了。签名如果原来画在页面上,看起来还在,但不再是数字签名。接收的人只需要看着页面时,用这个。他们需要从里面复制一段话时,不要用。文字必须仍是文字的话,这里没有任何设置能改变这一点。
体积菜单有四项。“只要变小一点”用一档适中的 JPEG,不追一个数字。“尽量压到 200 KB”和“尽量压到 100 KB”从更清晰走到更模糊,停在第一份落在那个千字节数以下的结果。自定义接受 20 KB 到 10240 KB。能不能装进去是尽力而为。能装下的最清晰一档就是你拿到的,所以很容易装下的文件不会被碾成糊。如果哪一档都装不下,你得到最小的那次尝试,以及一句没达到目标的话。这一页绝不会把 400 KB 的文件标成 200 KB。照片是另一件事:压缩图片把 JPG 或 PNG 压向一个千字节目标,而不会把文档变成扫描件。
200 KB 是邮箱和表格上传里常见的上限。一页密文字,或一张彩色照片,可能到不了这个数,除非糊到难读。把 PDF 压到 200 KB 那一页打开时已经选好这个目标。100 KB 那一页对更紧的上限做同样的事。两页用的都是这个引擎。两页都不编造保证。四周留白很多的照片扫描缩得动。一页矢量标志有时会变大,因为几条绘图命令比那枚标志的照片更小。
工作留在浏览器里。你按下按钮之后,页面才加载 pdf.js 来画每一页,并用 pdf-lib 嵌入 JPEG。这些库放在本站,不会从另一个能看见你 PDF 的文件主机去取。画页面的 worker 是这里自带的 pdf.js worker,包括文字 PDF 在字母变成像素之前画字母所需的标准字体。最多接受 25 页。更长的文档应先拆开。原因是内存:每一页都会短暂变成一张位图。
怎么看结果。提示里是四舍五入后的新体积和原体积,单位是 KB。两个隐藏字段放着精确的字节长度。如果提示说文件变大了,不要替换原件。如果提示说没达到目标,下载仍是这份列表能做出的最小尝试。打开它,看糊的程度能不能接受。再往下就是比已经用过的下限更小的图,这一页会停住,而不是交给你一块读不出字的灰方块还把它叫做成功。
相关的事故意分开。要先把几份 PDF 接在一起,用 合并 PDF,还需要再缩小时再压缩那一份。要把照片变成页面,用 JPG 转 PDF。之后再压缩,才是真正缩小相机照片的那一步。减小 PDF 体积 是这张表单的另一个常见标题,警告相同。你丢进来的文件不会被保存,也没有账号。