А АTuesday, 10 June 2025

Cтискаємо PDF-файл.

Привіт привіт.

Уявіть що досі трапляється задачка у користувача де PDF файл розміром на 12 Мб треба "стиснути" до, наприклад,  10 мб. Я знаю що такий формат документа в принципі не призначений для будь-яких змін, але деякі сучасні комплекси мають неадекватні обмеження. І наш користувач у розпачі. 

То це можливо? Так, стиснути PDF-файл з 12 МБ до 10 МБ - цілком можливо, але все залежить від вмісту цього файлу. Ось кілька ключових моментів для розуміння:

 🔍 Що впливає на розмір PDF-файлу

1. Зображення: Найчастіше "важкими" є саме картинки (особливо у високій роздільній здатності, або вставлені як скановані сторінки). Скани як зображення в PDF-файлі то біда!

2. Вбудовані шрифти: PDF може містити цілі шрифтові файли, якщо вбудовані неефективно.

3. Мультимедіа: відео чи аудіо рідко, але іноді можуть бути включені. Теоретично то можливо, але я не зустрічав таких випадків.

4. Надмірне форматування, коментарі, непотрібні об’єкти: Це менш суттєво, але теж впливає.


 🛠️ Що можна зробити для стиснення

1. Стиснення зображень:

   * Зменшення роздільної здатності (наприклад, 300 dpi → 150 dpi).

   * Перекодування у формат JPEG з компресією.

2. Оптимізація PDF-структури:

   * Видалення невидимих шарів, метаданих, непотрібних елементів.

3. Використання спеціальних утиліт:

   * Онлайн-сервіси: [SmallPDF](https://smallpdf.com/compress-pdf), [ILovePDF](https://www.ilovepdf.com/compress_pdf)

   * Безкоштовні програми: `Ghostscript`, `qpdf`, `pdftk`, `PDF Arranger`, `PDFsam`

   * У Adobe Acrobat Pro є вбудована функція “Save as Optimized PDF”


 🧪 Реалістичні результати

* Якщо у файлі багато зображень — можна стиснути в 2-3 раи і більше, втративши трохи якості. Тут наявність зображень грає нам на руку, бо ніяке форматування не порушується. Але без фанатизму, будь ласка.

* Якщо файл містить лише текст і векторну графіку — стиснення буде мінімальним (5–15%).


Вважаємо що наш документ містить конфіденційну інформацію тому ніякого онлайн, а Acrobat Pro коштує грошей.

Тому ми хочемо безкоштовний, офлайн-інструмент, бажано без встановлення (portable). Це звужує коло рішень, але декілька реально працюючих варіантів все ж є. Поїхали.


✅ ВАРІАНТИ СТИСКАННЯ PDF БЕЗ ІНСТАЛЯЦІЇ, portable та без онлайн.


🔹 1. Ghostscript portable (zip-версія)

* Ghostscript має zip-версії, які не потребують встановлення.

* Просто розпаковуєш і запускаєш `gswin64c.exe` з командного рядка.

📥 [Portable ZIP для Windows (Ghostscript)](https://github.com/ArtifexSoftware/ghostpdl-downloads/releases)

(знайди `gsw64.zip`, наприклад `gs1000w64.zip` — це 64-бітна версія)

▶️ Команда для стискання:

gswin64c -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook ^

-dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

> Працює без інсталяції, якщо викликати з розпакованої теки. Просто помісти PDF поруч із `.exe` і запусти команду.


🔹 2. qpdf (portable версія для Windows)

* Легка утиліта, оптимізує PDF без зміни вмісту

* Можна завантажити portable-архів із офіційного сайту або з [Chocolatey](https://community.chocolatey.org/packages/qpdf.portable) (але не обов’язково)

📥 [Portable релізи qpdf на GitHub](https://github.com/qpdf/qpdf/releases)

(шукай файл `qpdf-*-mingw64-bin.zip`)

▶️ Команда (мінімізація структури):

qpdf --linearize input.pdf output.pdf

> Не стискає зображення, але часто зменшує на 5–15%.


🔹 3. PDFTK Server (command-line, portable)

* Можна використовувати для злиття/розділення, але також прибирає зайві дані з PDF

📥 [PDFTK Server Portable (PDF Labs)](https://www.pdflabs.com/tools/pdftk-server/)

▶️ Команда для простого перезапису PDF:

pdftk input.pdf output compressed.pdf


Ще один ненадійний варіант, але він також працює.

Цікаво що для "стискання" PDF можно використати навіть MS Word. Він на 99% є у нашого користувача.  Тобто він відкриває PDF-документ як є, іноді з ПОРУШЕННЯМ форматування. Тому обовя'зково перевіряйте його візуально. А потім, без правки, можно його зберегти знову ж таки в PDF, і буде економія на розмірі до 20%.

Маємо два штатних варіанта зберігання, але варто пам'ятати що:

🖨️ 1. Microsoft Print to PDF - просто "вивід на принтер"

  • Друкарський механізм створює PDF, але не оптимізує структуру.
  • Всі шрифти майже завжди вбудовуються повністю.

Він не видаляє нічого — навіть приховані поля або маркери Word.


📝 2. Word → Save As → PDF

Word "знає" що саме в документі є і може:

  • Вбудувати лише ті символи шрифтів, які реально використовуються.
  • Викинути непотрібні стилі або поля.
  • Застосувати легке стиснення внутрішніх об’єктів.

Це своєрідна структурна оптимізація, яку друк не виконує.

✅ Результат: менший файл навіть без втрати якості.


У Word при збереженні в PDF можна навіть увімкнути опцію зниження якості:

File → Save As → Tools → Compress Pictures

або

File → Save As → More options → Optimize for: Minimum size (publishing online)


Такі справи. Як на мене все ж таки краще правити неадекватні обмеження на завантаження таких файлів, особливо якщо вони містять чутливу інформацію.

Щасти.

No comments:

Post a Comment

А что вы думаете по этому поводу?

Версия на печать

Популярное