fix(compress-pdf): land close to the target size, honestly (#522)

Target-size compression had only a coarse DPI lever, so it undershot badly (a 350KB target could land at 216KB) and silently missed unreachable targets. Adds JPEG quality as a second lever (forced re-encode so it bites on JPEG scans), folds both into one monotonic quality axis that target-size binary-searches, reports targetMet honestly in the panel across 21 locales, and flips the tool to async for the extra passes. Quality-mode output sizes shift intentionally (slider now drives JPEG quality at full resolution in its top half).
This commit is contained in:
SnapOtter
2026-07-16 15:08:21 +08:00
committed by GitHub
parent f858c4cea0
commit 7d938af1f9
30 changed files with 344 additions and 65 deletions
+5
View File
@@ -2654,6 +2654,11 @@ export const ru: TranslationKeys = {
submit: "Сжать",
submitBatch: "Сжать ({count} файлов)",
progressLabel: "Сжатие",
bestEffortHint:
"Максимум по возможности. PDF на основе изображений приближаются к этому размеру; PDF только с текстом могут не уменьшиться до него.",
targetReached: "Целевой размер {target} достигнут (результат: {size}).",
targetMissed:
"Не удалось достичь {target}. Минимально возможный размер составил {size}, поскольку этот PDF состоит в основном из текста или векторной графики, которые сжатие изображений не может уменьшить.",
},
"rotate-pdf": {
angle: "Угол поворота",