# [Обзор инструмента] img2pdf: Утилита для преобразования изображений в PDF без потерь качества > `img2pdf` — это одна из самых быстрых и эффективных утилит для преобразования изображений в PDF в среде Linux. Она оптимизирована для объединения нескольких изображений в один PDF-документ или преобразования отдельного изображения в PDF и основана на Python. В этом посте я хочу рассказать об инструменте, которым сам пользуюсь время от времени и каждый раз поражаюсь его возможностям. Это одна из моих любимых утилит благодаря невероятной скорости, легкости, характерной для Linux, и удобству использования с пайпами. ![Изображение, показывающее процесс преобразования из изображения в PDF](/media/whitedec/blog_img/2ab5b1e13c8247bc98d6174c12c0c5c2.webp) ## 1. Принцип работы (Working Principle) {#sec-f8af2ee385bf} Ключевой особенностью является **«объединение без перекодирования (No Re-encoding)»**. * **Традиционный подход (например, ImageMagick):** Изображение считывается, анализируются пиксельные данные, а затем оно сжимается (с потерями) в соответствии с форматом PDF. Этот процесс требует значительных ресурсов CPU и может привести к ухудшению качества изображения. * **Подход img2pdf:** Бинарные данные файла изображения помещаются в PDF-контейнер **без изменений (Lossless)**. * **Преимущества:** Невероятно высокая скорость, 100% сохранение исходного качества изображения и экономичный размер выходного файла. ## 2. Установка и удаление (Installation & Removal) {#sec-aa068551b507} ### Установка (для Ubuntu/Debian) {#sec-0dfc74ad579f} ```bash sudo apt update sudo apt install img2pdf ``` ### Удаление {#sec-17fc6056a949} ```bash # Удалить только программу sudo apt remove img2pdf # Полностью удалить конфигурационные файлы и зависимости sudo apt purge img2pdf sudo apt autoremove ``` --- ## 3. Основные способы использования (Usage Guide) {#sec-02dae59f6008} ### Базовое объединение {#sec-002951a3397c} Используется для объединения всех PNG-файлов в текущем каталоге в один PDF-документ. ```bash img2pdf *.png -o output.pdf ``` ### Объединение в определённом порядке {#sec-3136d0efa9f4} Вы можете указать порядок, перечислив имена файлов напрямую. ```bash img2pdf image1.png image2.png image3.png -o output.pdf ``` ### Настройка размера страницы и полей (расширенные возможности) {#sec-8dfce1207c34} Полезно, когда нужно подогнать изображение под определённый формат (например, A4) или добавить поля. ```bash sudo apt update # Подогнать размер изображения под A4 и добавить поля 2 см img2pdf --pagesize A4 --border 2cm *.png -o output.pdf ``` ### Указание определённого разрешения (DPI) {#sec-231f83e819d7} Используется, когда нужно принудительно задать разрешение выводимого изображения. ```bash img2pdf --dpi 300 *.png -o output.pdf ``` --- ## 4. Советы для разработчиков (Developer's Note) {#sec-34c448091f29} * **Проблема сортировки:** Символ подстановки (`*`) в терминале Linux воспринимает числа как строки. * Пример: Файлы могут быть объединены в следующем порядке: `1.png`, `10.png`, `2.png`. * **Решение:** Самый надёжный способ — сохранять имена файлов с одинаковым количеством цифр, например, `01.png`, `02.png` ... `10.png`. * **Использование пайпов:** Очевидно, что использование пайпов — одно из самых удобных преимуществ Linux. Вы можете получить результат выполнения другой команды и сразу же создать из него PDF. ```bash find . -name "*.png" | sort | xargs img2pdf -o output.pdf ``` --- > **Краткое резюме:** "Лучший инструмент для создания PDF-файлов без потерь качества, максимально быстро и в стиле Linux."