Гид по технологиям

Как извлечь изображения из PDF в Ubuntu с помощью pdfimages

• 4 min read • Инструменты • Обновлено 20 Nov 2025
Извлечение изображений из PDF в Ubuntu — pdfimages
Извлечение изображений из PDF в Ubuntu — pdfimages

Коротко: что делает pdfimages

pdfimages — это утилита командной строки для извлечения изображений, встроенных как объекты в PDF. Однострочное определение: она сканирует PDF и для каждого встроенного изображения создаёт файл формата PPM, PBM или JPEG.

Важное замечание

  • pdfimages извлекает именно встроенные в PDF изображения, а не «скриншоты» страниц. Если PDF содержит растровую картинку, полученную путём рендеринга страницы (например, отсканированные страницы, вставленные как единый растр), pdfimages может не вернуть отдельные элементы.

Установка

Для Ubuntu и Debian-подобных дистрибутивов установите пакет poppler-utils:

sudo apt-get update
sudo apt-get install poppler-utils

Альтернативы для других систем:

  • Fedora/RHEL: sudo dnf install poppler-utils
  • macOS (Homebrew): brew install poppler

Пакет poppler-utils содержит не только pdfimages, но и другие утилиты для работы с PDF.

Базовое использование

В базовом варианте pdfimages принимает два аргумента: входной PDF и путь/префикс для выходных изображений.

Пример: извлечём изображения из файла christmas_story.pdf и сохраним их в папку pdfimages:

pdfimages /home/himanshu/Downloads/christmas_story.pdf /home/himanshu/Downloads/pdfimages/

Посмотреть полученные файлы можно командой:

ls /home/himanshu/Downloads/pdfimages/

Вывод может выглядеть так:

-000.ppm  -001.ppm  -002.ppm  -003.ppm  -004.ppm  -005.ppm  -006.ppm  -007.ppm

По умолчанию имена файлов начинаются с дефиса - и номера. Вы можете добавить префикс, указав его в конце пути. Пример с префиксом image:

pdfimages /home/himanshu/Downloads/christmas_story.pdf /home/himanshu/Downloads/pdfimages/image
ls /home/himanshu/Downloads/pdfimages/
image-000.ppm  image-001.ppm  image-002.ppm  image-003.ppm  image-004.ppm  image-005.ppm  image-006.ppm  image-007.ppm

Пример вывода, демонстрирующий пустые и полезные изображения:

Пример вывода pdfimages: в папке есть пустые и пригодные изображения

Опции, которые часто используются

  • -j — сохранять DCT-изображения как JPEG (все недекодированные или не-DCT останутся в PBM/PPM).
  • -f <номер> — начать со страницы <номер> (нумерация страниц начинается с 1).
  • -l <номер> — закончить на странице <номер>.

Пример: извлечь изображения только с первой страницы и попытаться сохранить JPEG, если формат позволяет:

pdfimages -j -f 1 -l 1 /home/himanshu/Downloads/christmas_story.pdf /home/himanshu/Downloads/pdfimages/

Вывод в целевой папке в этом случае может содержать меньше файлов — только те изображения, что на выбранной странице.

Почему иногда появляются «пустые» файлы

Иногда для одного визуального изображения в PDF pdfimages создаёт два объекта: сам растровый слой и маску/альфаканал или объект с нулевыми данными. В результате один файл может быть почти пустым. Это особенно часто встречается при использовании прозрачностей, масок слоёв или сложного векторного/растрового смешивания в исходном PDF.

Совет: чтобы быстро отфильтровать «пустые» PPM/PBM, используйте identify из ImageMagick или file для проверки размера/типa файла.

Когда pdfimages не подойдёт (примеры неудач)

  • Отсканированные PDF, где страница — единый растровый слой: pdfimages может вернуть только «страничный» растр или ничего, если изображение встроено иначе.
  • PDF с отдельными изображениями, но использующими редкие кодировки: некоторые форматы внутри PDF могут не конвертироваться в JPEG автоматически.
  • Когда нужна постобработка (обрезка, сжатие, метаданные): pdfimages даёт «сырые» изображения, дальше придётся использовать дополнительные инструменты.

Альтернативные подходы

  • pdftoppm (из пакета poppler-utils) — рендерит страницы в растровые изображения (полезно, если нужно получить изображение всей страницы).
  • ImageMagick (convert/ magick) — для постобработки и конвертации форматов.
  • mutool extract (из mupdf) — извлекает вложения и объекты PDF, иногда даёт другие результаты.

Мини-методология: «извлечение → фильтрация → конвертация»

  1. Извлечь всё с помощью pdfimages.
  2. Отсортировать по размеру/типу, чтобы исключить пустые объекты.
  3. Конвертировать PPM/PBM в нужный формат (JPEG/PNG) с помощью ImageMagick или mogrify.

Пример конвертации всех PPM в JPEG:

for f in /home/himanshu/Downloads/pdfimages/*.ppm; do
  magick convert "$f" "${f%.ppm}.jpg"
done

Командная шпаргалка (cheat sheet)

ЦельКоманда
Установить утилитуsudo apt-get install poppler-utils
Извлечь все изображенияpdfimages input.pdf output_prefix
Извлечь JPEG (если DCT)pdfimages -j input.pdf output_prefix
Извлечь только с 1 по 3 страницуpdfimages -f 1 -l 3 input.pdf output_prefix
Просмотреть файлыls output_prefix*
Пакетная конвертация PPM → JPGfor f in output_prefix*.ppm; do magick convert “$f” “${f%.ppm}.jpg”; done

Рекомендации по рабочему процессу (role-based checklists)

Для разработчика:

  • проверяйте, встроено ли изображение как объект в PDF;
  • используйте pdfimages -list input.pdf для списка объектов;
  • автоматизируйте фильтрацию пустых файлов скриптом.

Для дизайнера:

  • извлекайте изображения в формате, удобно подходящем для редактирования (PPM → конвертируйте в PNG/TIFF);
  • сохраняйте оригинальные метаданные, если они важны.

Для архивиста/библиотекаря:

  • документируйте версию poppler-utils и ОС;
  • сохраняйте оригинал PDF вместе с извлечёнными изображениями;
  • проверяйте качество и полноту извлечения в выборке страниц.

Критерии приёмки

  • Все встроенные изображения на выбранных страницах извлечены.
  • Пустые или служебные объекты отфильтрованы или помечены.
  • Формат выходных файлов соответствует требованиям (JPEG/PNG/TIFF).

Заключение

pdfimages — надёжный и быстрый инструмент для извлечения встроенных изображений из PDF. Он не заменяет полноценную обработку изображений, но идеально подходит для массового извлечения «сырых» объектов. Если нужно работать с изображениями, полученными рендерингом страниц, используйте pdftoppm или ImageMagick.

Дополнительные ресурсы

  • Описание в man-странице: man pdfimages
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро