[{"data":1,"prerenderedAt":52},["ShallowReactive",2],{"i-lucide:menu":3,"i-lucide:grip":8,"i-lucide:chevron-right":10,"i-lucide:moon":12,"i-lucide:sun":14,"i-material-symbols:language":16,"i-lucide:chevron-down":18,"i-lucide:shield-check":20,"i-lucide:mail":22,"i-tabler:markdown":24,"i-lucide:code-xml":26,"i-lucide:film":28,"i-lucide:file-text":30,"i-lucide:box":32,"i-lucide:code-2":34,"i-lucide:image":35,"i-lucide:square-sigma":37,"i-lucide:gamepad-2":39,"i-lucide:sparkles":41,"i-lucide:graduation-cap":43,"blog-body-compress-scanned-pdf-zh":45,"i-lucide:lightbulb":46,"i-lucide:minimize-2":48,"i-lucide:image-down":50},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"12\" cy=\"19\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"19\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"19\" r=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"currentColor\" d=\"M8.125 21.213q-1.825-.788-3.187-2.15t-2.15-3.188T2 11.988t.788-3.875t2.15-3.175t3.187-2.15T12.013 2t3.875.788t3.175 2.15t2.15 3.175t.787 3.875t-.787 3.887t-2.15 3.188t-3.175 2.15t-3.875.787t-3.888-.787M12 19.95q.65-.9 1.125-1.875T13.9 16h-3.8q.3 1.1.775 2.075T12 19.95m-2.6-.4q-.45-.825-.787-1.713T8.05 16H5.1q.725 1.25 1.813 2.175T9.4 19.55m5.2 0q1.4-.45 2.488-1.375T18.9 16h-2.95q-.225.95-.562 1.838T14.6 19.55M4.25 14h3.4q-.075-.5-.112-.987T7.5 12t.038-1.012T7.65 10h-3.4q-.125.5-.187.988T4 12t.063 1.013t.187.987m5.4 0h4.7q.075-.5.113-.987T14.5 12t-.038-1.012T14.35 10h-4.7q-.075.5-.112.988T9.5 12t.038 1.013t.112.987m6.7 0h3.4q.125-.5.188-.987T20 12t-.062-1.012T19.75 10h-3.4q.075.5.113.988T16.5 12t-.038 1.013t-.112.987m-.4-6h2.95q-.725-1.25-1.812-2.175T14.6 4.45q.45.825.788 1.713T15.95 8M10.1 8h3.8q-.3-1.1-.775-2.075T12 4.05q-.65.9-1.125 1.875T10.1 8m-5 0h2.95q.225-.95.563-1.838T9.4 4.45Q8 4.9 6.912 5.825T5.1 8\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":21},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":23},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":25},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\u002F>\u003Cpath d=\"M7 15V9l2 2l2-2v6m3-2l2 2l2-2m-2 2V9\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":27},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m18 16l4-4l-4-4M6 8l-4 4l4 4m8.5-12l-5 16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":29},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M7 3v18M3 7.5h4M3 12h18M3 16.5h4M17 3v18m0-13.5h4m-4 9h4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":31},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":33},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\"\u002F>\u003Cpath d=\"m3.3 7l8.7 5l8.7-5M12 22V12\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":27},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":36},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\"\u002F>\u003Ccircle cx=\"9\" cy=\"9\" r=\"2\"\u002F>\u003Cpath d=\"m21 15l-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":38},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M16 8.9V7H8l4 5l-4 5h8v-1.9\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":40},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 11h4M8 9v4m7-1h.01M18 10h.01m-.69-5H6.68a4 4 0 0 0-3.978 3.59l-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258q-.01-.075-.017-.151A4 4 0 0 0 17.32 5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":42},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4\"\u002F>\u003Ccircle cx=\"4\" cy=\"20\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":44},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6\"\u002F>\u003Cpath d=\"M6 12.5V16a6 3 0 0 0 12 0v-3.5\"\u002F>\u003C\u002Fg>","\u003Cblockquote>\n\u003Cp>一份扫描合同三十多 MB，邮箱限制 20MB、微信发文件也卡，重新扫又麻烦。问题的根子不是&quot;页数多&quot;，而是扫描 PDF 本质上是一叠高分辨率图片。看懂这点，就知道该压哪里、能压到多小、什么时候压不动。\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cimg src=\"\u002Fblog\u002Fcompress-scanned-pdf\u002Fcover.webp\" alt=\"扫描 PDF 是一叠高分辨率位图，压缩后变小\">\u003C\u002Fp>\n\u003Ch2>扫描的 PDF 为什么这么大？\u003C\u002Fh2>\n\u003Cp>因为扫描件 PDF 里存的不是文字，而是\u003Cstrong>每页一张位图照片\u003C\u002Fstrong>。扫描仪或手机把纸拍成图片，再塞进 PDF 容器，所以决定体积的是图片的分辨率和色深，跟这页有多少字毫无关系——一页空白纸和一页密密麻麻的合同，扫出来的大小可能差不多。\u003C\u002Fp>\n\u003Cp>算一笔账就清楚了：一页 A4 用 300 DPI 彩色扫描，约 2480×3508 像素，未压缩的位图接近 25MB。哪怕扫描软件做了基础 JPEG 压缩，单页也常有 1–3MB，十几页叠起来轻松几十 MB。这和从 Word 直接&quot;导出 PDF&quot;的文字型文档是两回事：后者存的是文字和矢量，一份几十页的报告可能才几百 KB。\u003C\u002Fp>\n\u003Cp>所以判断一份 PDF 能不能压、能压多少，第一步是分清它是\u003Cstrong>文字型\u003C\u002Fstrong>还是\u003Cstrong>图片\u002F扫描型\u003C\u002Fstrong>。前者压缩空间小，后者才是压缩的主战场。\u003C\u002Fp>\n\u003Ch2>压缩 PDF 到底在压什么？\u003C\u002Fh2>\n\u003Cp>PDF 压缩主要做两件事：\u003Cstrong>去掉冗余结构\u003C\u002Fstrong>和\u003Cstrong>重新编码图片\u003C\u002Fstrong>。对扫描件来说，真正省体积的是后者。\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>无损优化\u003C\u002Fstrong>：清理重复对象、未使用的资源、冗余的元数据，把内部结构整理紧凑。这一步不改任何画面，但对纯图片 PDF 省不了多少。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>图片重编码\u003C\u002Fstrong>：把页面里的位图按目标分辨率重新采样，再用 JPEG 之类的有损算法压缩。这是扫描件能从几十 MB 掉到几 MB 的关键——降一半分辨率，数据量大约降到四分之一。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>一个稳妥的做法是\u003Cstrong>两阶段压缩\u003C\u002Fstrong>：先做无损整理，再对每一页图片逐页重编码。这样既不会无脑破坏画质，又能在图片层拿到主要收益。\u003Ca href=\"\u002Fdocs\u002FpdfCompress\u002F\">PDF 压缩工具\u003C\u002Fa>就是按这个思路，对扫描件和图片型 PDF 通常能压到原大小的 10%–30%。\u003C\u002Fp>\n\u003Ch2>压到多小才不糊？分辨率怎么定\u003C\u002Fh2>\n\u003Cp>关键结论先说：\u003Cstrong>屏幕阅读和普通打印，150–200 DPI 就够用\u003C\u002Fstrong>，再高基本是浪费；低于 100 DPI 才会明显发虚。用途决定该保留多少分辨率：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>用途\u003C\u002Fth>\n\u003Cth>建议分辨率\u003C\u002Fth>\n\u003Cth>说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>微信\u002F邮件传阅、屏幕看\u003C\u002Ftd>\n\u003Ctd>120–150 DPI\u003C\u002Ftd>\n\u003Ctd>体积最小,屏幕上完全够清晰\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>普通打印、存档\u003C\u002Ftd>\n\u003Ctd>200–300 DPI\u003C\u002Ftd>\n\u003Ctd>打印不发虚,体积适中\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>需要 OCR 或放大看细节\u003C\u002Ftd>\n\u003Ctd>≥300 DPI\u003C\u002Ftd>\n\u003Ctd>不建议大幅压缩,优先保真\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>经验上，把一份 300 DPI 的彩色扫描件降到 150 DPI、转成适度 JPEG，体积常能掉到原来的 1\u002F5 左右，而手机和电脑屏幕上几乎看不出差别。如果是黑白文字扫描件，还可以考虑灰度化进一步省空间。\u003C\u002Fp>\n\u003Ch2>压完还是太大怎么办？\u003C\u002Fh2>\n\u003Cp>如果单纯调分辨率仍超过收件方限制，换个思路拆或转：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>页数太多\u003C\u002Fstrong>：用 \u003Ca href=\"\u002Fdocs\u002FpdfTools\u002F\">PDF 拆分合并工具\u003C\u002Fa> 按页码范围拆成几份分别发送，每份都在限制以内。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>对方只要看不要 PDF\u003C\u002Fstrong>：直接用 \u003Ca href=\"\u002Fdocs\u002FpdfToImages\u002F\">PDF 转图片\u003C\u002Fa> 把需要的几页导成 JPG 发过去，往往比整份 PDF 更小、对方也更好打开。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>图片本身就糊\u003C\u002Fstrong>：扫描时分辨率就低，压缩只会更糊，这时压缩帮不上忙，只能重新扫描。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>边界：什么时候压缩没用\u003C\u002Fh2>\n\u003Cp>压缩不是万能的，这几种情况收益很小甚至为零：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>文字矢量 PDF\u003C\u002Fstrong>：从 Word\u002F网页导出的纯文字文档本来就小，里面没有大图，压完可能只小几个百分点。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>已经压过一次\u003C\u002Fstrong>：对方发来的 PDF 若已被压过，再压一次画质会进一步劣化，体积却降不了多少。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>含大量矢量图\u002F表格\u003C\u002Fstrong>：这类内容已是高效编码，图片重采样对它无效。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>判断标准很简单：\u003Cstrong>体积大的 PDF 几乎都是图片型，压缩才有意义；体积本来就小的文字型 PDF，不必折腾。\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch2>小结\u003C\u002Fh2>\n\u003Cp>扫描 PDF 大,是因为它本质是一叠高分辨率图片,体积由分辨率和色深决定,与字数无关。压缩的核心是\u003Cstrong>先无损整理、再按用途把图片重采样到 150–200 DPI 并重编码\u003C\u002Fstrong>,屏幕阅读场景常能压到原来的 10%–30% 而几乎不糊。压不动时,就用\u003Ca href=\"\u002Fdocs\u002FpdfTools\u002F\">拆分\u003C\u002Fa>或\u003Ca href=\"\u002Fdocs\u002FpdfToImages\u002F\">转图片\u003C\u002Fa>换条路;而纯文字 PDF 本来就小,不用压。所有处理都在浏览器本地完成,合同、证件这类敏感文件不必担心上传。\u003C\u002Fp>\n",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":47},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":49},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m14 10l7-7m-1 7h-6V4M3 21l7-7m-6 0h6v6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":51},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21\"\u002F>\u003Cpath d=\"m14 19l3 3v-5.5m0 5.5l3-3\"\u002F>\u003Ccircle cx=\"9\" cy=\"9\" r=\"2\"\u002F>\u003C\u002Fg>",1782539692847]