PDF Commons

深度压缩

基本压缩留在浏览器里。此页面会上传 PDF,并把照片降到大约 150 DPI。文字仍然是文字。

此文件会被上传,并在 30 分钟后删除。

深度压缩需要 $6 的日票或 $60 的年票。免费文件是 PDF 转 Word,不是本页。

通行凭证按结账邮箱核对。结束时间就是有效窗口。

这次降采样留下什么

深度压缩在服务器上运行 Ghostscript。argv 是 gs、-sDEVICE=pdfwrite、-dCompatibilityLevel=1.4、-dPDFSETTINGS=/ebook、-dCompressPages=false、-dNOPAUSE、-dQUIET 和 -dBATCH。请求里的内容不会写进这份 argv。/ebook 预设把彩色图像平均到 150 DPI,把灰度图像平均到 150 DPI。重采样从目标的 1.5 倍以上开始,因此超过 225 DPI 的彩色或灰度照片会被重采样。单色图像用 Subsample 走向 300 DPI。彩色和灰度用 DCTEncode 编码,也就是 JPEG。单色使用 CCITT。预设把 ColorConversionStrategy 设为 sRGB。-dCompressPages=false 写在预设之后,所以页面流不做 flate 压缩,可选中的文字仍然可选中。只有文字的 PDF 可能变大。这条命令写出的文件以 %PDF-1.4 开头。下载名始终是 compressed.pdf。电脑上的原文件不会被替换。压缩 PDF 留在浏览器里,不调用 gs。

PDF 和 compressed.pdf 都进入 MongoDB GridFS,bucket 为 uploads,tool 为 heavy-compress。来源使用 role source,并保留原始文件名;没有名字时用 upload.pdf。结果使用 role result,文件名 compressed.pdf,内容类型 application/pdf。Ghostscript 在临时目录里写入 input.pdf 和 output.pdf。任务结束或失败时删除该目录,gs 缺失时也删除。保留作业删除上传时间至少达到 RETENTION_MINUTES 的 GridFS 对象。缺失、零或非正数使用 30。deletions 行保存文件 id、文件名、tool、role、上传时间和删除时间,不保存字节。jobs 行会留下。它记录 kind heavy-compress、tier pass、页数、结账邮箱、来源文件 id、结果文件 id、时间.该 jobs 行没有 status 字段。

这一页没有免费文件。Ghostscript 运行前需要邮箱和一笔有效购买。上限是 20 页,通行证有效时也一样,并且在 gs 开始前检查。日通行证是 $6,只扣一次,持续 24 小时,不会续订。年费是 $60,持续 365 天。邮箱必须对应一笔 status 为 active 的购买,从开始到结束之前。免费的服务器文件是 PDF 转 Word,一份文件,最多 20 页,在它自己的页面上。Ghostscript 在 60 秒后收到 SIGKILL。这个表单只收一份文件。通行证不会增加批量。

空表单失败并显示 "Choose a PDF." 前 1024 个字符里没有 %PDF- 的字节失败并显示 "Choose a PDF." 读不出页数的文件失败并显示 "Choose a PDF." 没有页面时显示 "This PDF has no pages." 超过 20 页时显示 "This tool compresses up to 20 pages." 没有通行证或通行证未生效时显示 "Heavy compress needs a $6 day pass or the $60 year. The free file is PDF to Word, not this page." 如果缺少 gs、60 秒计时触发、gs 以非零退出,或输出为空或不含 %PDF-,页面显示 "Heavy compress is not available on this server." 这句话在每种语言里都是英语常量。缺少数据库时,会在分类字节之前拒绝上传。其他页面的浏览器工具不使用该数据库。

问题

每张照片都会变小吗?

不会。超过 225 DPI 的彩色和灰度图像会被平均到 150 DPI。已经低于该阈值的图片可以原样通过,因为共享的 Ghostscript 设置里 PassThroughJPEGImages 保持打开。单色图像向 300 DPI 二次采样。可选中的文字不会被栅格化。页面流不压缩,所以只有文字的 PDF 可能变大。表单上方的短句说明照片大约降到 150 DPI,并且文字仍然是文字。

第一次上传免费吗?

不免费。这一页从来不是免费的服务器文件。免费文件是一次 PDF 转 Word,最多 20 页,并且该 PDF 要有可选中的文字。表单在 gs 运行前要求有效通行证的结账邮箱。访问者会看到 "Heavy compress needs a $6 day pass or the $60 year. The free file is PDF to Word, not this page."

删除之后还留下什么?

GridFS 在保留时钟之后删除 PDF 和 compressed.pdf;除非 RETENTION_MINUTES 是正数,否则是 30 分钟。deletions 行保留 id 和时间,不保留字节。jobs 行保留页数、填入的邮箱、文件 id 和网络哈希。临时目录已经消失。保留作业不删除 jobs 行。

通行证在这里改变什么?

第一份文件之前需要有效通行证。日通行证是 $6,只扣一次,持续 24 小时,不会续订。年费是 $60,共 365 天。取消会停止下一次年费扣款。已经支付的年份持续到结束日期,并且不退款。20 页上限对两者都还在。通行证不改变 150 DPI 的彩色目标、300 DPI 的单色目标,也不改变单文件表单。

还可以