Новости · Софт и форматы

Вышел Poppler 26.07: что изменилось в главном PDF-движке Linux

Тихо, но заметно для всей экосистемы: 2 июля 2026 вышла новая версия библиотеки Poppler — того самого движка, что рисует PDF в Evince, Okular и десятках консольных утилит вроде pdftoppm и pdftotext. Главное изменение — из кода убрали два старых встроенных декодера изображений. Разбираем, что это значит на практике.

Коротко: Poppler 26.07.0 удалил собственные (давно не поддерживаемые) декодеры JPEG и JPEG2000 внутри PDF. Теперь для показа таких картинок движок обязательно опирается на внешние библиотеки libjpeg и OpenJPEG. Плюс — исправлены электронные подписи, аннотации и сбои на «битых» документах.

24 июля 2026 Редакция LoadFile Чтение 5 мин
Обновление PDF-библиотеки Poppler 26.07
Содержание
  1. Что произошло
  2. Какие декодеры убрали и почему
  3. Подписи, аннотации и сбои: что ещё исправили
  4. Что это значит для работы с PDF
  5. Источники

Что произошло

Poppler — это свободная библиотека для отрисовки документов PDF, написанная на C++. Сама по себе она не приложение: это «мотор», который встроен в чужие программы. На Poppler работают просмотрщики Evince и Okular в GNOME и KDE, читалка Zathura, а также поддержка PDF в GIMP, Inkscape, LibreOffice и издательских инструментах TeXstudio и TeXworks. Из этой же библиотеки собран пакет poppler-utils — консольные команды, которыми в Linux конвертируют и разбирают PDF: pdftotext, pdftohtml, pdftoppm, pdftops, pdfimages, pdfinfo и другие.

2 июля 2026 проект freedesktop.org выпустил версию 26.07.0 — очередной ежемесячный релиз (предыдущий, 26.06.0, вышел 2 июня 2026). Обновление относится к разряду технических: новых пользовательских функций почти нет, зато есть заметная чистка кода и порция исправлений. Именно поэтому его легко пропустить — но одно из изменений касается того, как в PDF отображаются вложенные картинки.

Какие декодеры убрали и почему

Главный пункт списка изменений — удаление устаревших декодеров DCT и JPX. За этими аббревиатурами скрываются два формата, в которых картинки чаще всего лежат внутри PDF: DCT — это по сути JPEG, а JPX — это JPEG2000. Чтобы показать такую вложенную картинку, PDF-движок должен её распаковать, то есть декодировать.

Раньше у Poppler было два пути. Основной — передать данные проверенным внешним библиотекам: libjpeg для JPEG и OpenJPEG для JPEG2000. Запасной — использовать собственные встроенные декодеры, которые входили в состав самой Poppler. Проблема в том, что эти встроенные декодеры годами были помечены как «unmaintained» — то есть их никто не сопровождал и не чинил, а держали лишь как аварийный вариант на случай, если внешних библиотек в системе нет.

В версии 26.07.0 этот запасной путь окончательно вырезали. Если сформулировать фактом: Poppler больше не умеет декодировать JPEG и JPEG2000 внутри PDF своими силами — только через libjpeg и OpenJPEG.

Почему это разумно

Заброшенный код парсеров изображений — классический источник уязвимостей: именно на разборе «хитрых» картинок чаще всего срабатывают переполнения буфера. Убрав неподдерживаемые декодеры, проект снимает с себя риск и оставляет ровно один, активно сопровождаемый путь декодирования.

Для обычного пользователя Linux разница почти незаметна: libjpeg и OpenJPEG и так стоят в любой настольной системе и подключаются к Poppler по умолчанию. Ощутить изменение могут разве что те, кто собирает Poppler вручную в урезанном окружении (контейнеры, встраиваемые сборки): если раньше без внешних библиотек JPEG-картинки в PDF всё же кое-как показывались через встроенный декодер, то теперь без libjpeg и OpenJPEG они просто не отрисуются.

Подписи, аннотации и сбои: что ещё исправили

Помимо чистки декодеров, релиз закрыл несколько ошибок, которые мешали работать с реальными документами:

  • Электронные подписи. Устранён регресс, из-за которого подпись в отдельных случаях обрабатывалась некорректно (ошибка KDE #520496), улучшена работа с подписями на базе GPG, а во фронтендах Qt5 и Qt6 починили сбои при операциях с подписями (Issue #1737).
  • Аннотации. Исправлена ситуация, когда добавленные в документ аннотации (заметки, выделения) в некоторых случаях терялись (Issue #1732).
  • Стабильность на macOS. Поправлена инициализация внутреннего мьютекса страницы, из-за которой библиотека падала на macOS (Issue #1743).
  • Битые документы. Добавлены новые проверки, устраняющие аварийные завершения при открытии повреждённых или намеренно искажённых PDF.
  • Утилиты. В pdfinfo усилена очистка вывода, чтобы данные из документа не искажали то, что видит пользователь в терминале.

Отдельно для разработчиков в C++ API появился флаг render_hint::ignore_paper_color — он позволяет рендерить страницу с прозрачным «листом», что удобно при наложении PDF на произвольный фон.

Что это значит для работы с PDF

Если вы открываете PDF в Linux или конвертируете их через консольные утилиты, обновление стоит принять при первом же апдейте системы — оно повышает надёжность и безопасность без риска что-то сломать. Пользователям Windows и Android беспокоиться не о чем: там PDF показывают другие движки (например, Chromium/PDFium в браузерах или встроенные читалки), и на них этот релиз не влияет.

Более широкий сигнал такой: сопровождающие популярных библиотек всё активнее убирают старый неподдерживаемый код разбора форматов, потому что именно он превращается в дыры в безопасности. Мы уже видели это на примерах архиваторов и парсеров изображений — историю уязвимости в 7-Zip при разборе XZ-архивов и других подобных случаев. Poppler здесь действует на опережение, убирая риск до того, как он выстрелит.

Если же вам нужно не просто открыть, а перевести PDF в Word или наоборот — движок отрисовки тут вторичен, важнее корректная работа с текстом и структурой документа. Полезно помнить и о самом формате: PDF продолжает развиваться, и параллельно в него, например, добавляют сжатие Brotli, а также о том, что вложения и картинки внутри документов остаются вектором атак — об этом мы подробно писали в разделе безопасность файлов. Обзор всех типов файлов и способов их открыть — в разделе форматы файлов.

Источники

Читайте также