[Обзор инструмента] img2pdf: Утилита для преобразования изображений в PDF без потерь качества
img2pdf— это одна из самых быстрых и эффективных утилит для преобразования изображений в PDF в среде Linux. Она оптимизирована для объединения нескольких изображений в один PDF-документ или преобразования отдельного изображения в PDF и основана на Python.
В этом посте я хочу рассказать об инструменте, которым сам пользуюсь время от времени и каждый раз поражаюсь его возможностям. Это одна из моих любимых утилит благодаря невероятной скорости, легкости, характерной для Linux, и удобству использования с пайпами.

1. Принцип работы (Working Principle)
Ключевой особенностью является «объединение без перекодирования (No Re-encoding)». * Традиционный подход (например, ImageMagick): Изображение считывается, анализируются пиксельные данные, а затем оно сжимается (с потерями) в соответствии с форматом PDF. Этот процесс требует значительных ресурсов CPU и может привести к ухудшению качества изображения. * Подход img2pdf: Бинарные данные файла изображения помещаются в PDF-контейнер без изменений (Lossless). * Преимущества: Невероятно высокая скорость, 100% сохранение исходного качества изображения и экономичный размер выходного файла.
2. Установка и удаление (Installation & Removal)
Установка (для Ubuntu/Debian)
sudo apt update
sudo apt install img2pdf
Удаление
# Удалить только программу
sudo apt remove img2pdf
# Полностью удалить конфигурационные файлы и зависимости
sudo apt purge img2pdf
sudo apt autoremove
3. Основные способы использования (Usage Guide)
Базовое объединение
Используется для объединения всех PNG-файлов в текущем каталоге в один PDF-документ.
img2pdf *.png -o output.pdf
Объединение в определённом порядке
Вы можете указать порядок, перечислив имена файлов напрямую.
img2pdf image1.png image2.png image3.png -o output.pdf
Настройка размера страницы и полей (расширенные возможности)
Полезно, когда нужно подогнать изображение под определённый формат (например, A4) или добавить поля.
sudo apt update
# Подогнать размер изображения под A4 и добавить поля 2 см
img2pdf --pagesize A4 --border 2cm *.png -o output.pdf
Указание определённого разрешения (DPI)
Используется, когда нужно принудительно задать разрешение выводимого изображения.
img2pdf --dpi 300 *.png -o output.pdf
4. Советы для разработчиков (Developer's Note)
- Проблема сортировки: Символ подстановки (
*) в терминале Linux воспринимает числа как строки.- Пример: Файлы могут быть объединены в следующем порядке:
1.png,10.png,2.png. - Решение: Самый надёжный способ — сохранять имена файлов с одинаковым количеством цифр, например,
01.png,02.png...10.png.
- Пример: Файлы могут быть объединены в следующем порядке:
- Использование пайпов: Очевидно, что использование пайпов — одно из самых удобных преимуществ Linux. Вы можете получить результат выполнения другой команды и сразу же создать из него PDF.
find . -name "*.png" | sort | xargs img2pdf -o output.pdf
Краткое резюме: "Лучший инструмент для создания PDF-файлов без потерь качества, максимально быстро и в стиле Linux."
Комментариев нет.