llpp: гайд от гика, минималистичный PDF-пейджер с bird’s eye, поиском, закладками и аннотациями
llpp — не отдельная коммерческая редакция с названием PDF Reader, а официально просто llpp: локальный графический просмотрщик документов, который авторы определяют как pager и сознательно строят по логике консольной утилиты less. Программа открывает документ в собственном окне, но основная навигация, поиск, масштабирование, оглавление, история переходов и сохранение изменений управляются клавишами и режимами, а не лентой меню. Такой подход хорошо подходит пользователям Linux, которым нужен быстрый просмотр технических PDF без облачной учётной записи и тяжёлого редактора, но требует выучить раскладку команд. Ниже разобраны актуальный статус проекта, интерфейс, поддерживаемые форматы, работа аннотаций, автоматическое обновление PDF, ограничения и сценарии, в которых полноценный редактор или более традиционный просмотрщик окажется практичнее.
Что такое llpp и какой продукт рассматривается
Официальное имя проекта пишется строчными буквами: llpp. В README программа названа графическим PDF-viewer, который внешне и по модели управления должен напоминать less; рендеринг выполняет библиотека MuPDF. В текущей пользовательской документации используется более точное определение graphical document pager, то есть графический пейджер документов. Это объясняет архитектуру: llpp в первую очередь показывает уже существующий документ, быстро перемещается по нему, хранит позицию чтения, даёт режимы обзора и поиска и подключает внешние команды. Это не настольная издательская система и не редактор структуры PDF.
Основная линия разработки связана с malc/moosotc и участниками проекта. Актуальный upstream размещён в основном Git-репозитории проекта; на 4 сентября 2026 года в нём есть изменения от 15 июля 2026 года. Поэтому llpp нельзя относить к заброшенным приложениям только потому, что последние публичные теги релизов заметно старше текущей ветки. Пакет AUR также обновлялся летом 2026 года и использует этот upstream. При этом номер пакета дистрибутива не следует автоматически считать номером последнего тега исходного проекта: модель выпуска у llpp ориентирована на живую ветку исходников.
В этой статье речь именно о desktop-программе llpp и её вспомогательной утилите llppac, поставляемой в исходном дереве. Она не связана с просмотрщиками файлов с расширением .lpp, мобильными приложениями с похожими буквами в названии или браузерными PDF-сервисами. Для установки и диагностики окружения пригодится отдельное руководство GeekHow по установке приложений в Linux: llpp чаще всего попадает на компьютер через пакет дистрибутива или сборку из исходников, а не через собственный мастер установки.
Основные параметры llpp
| Параметр | Что подтверждено для llpp |
|---|---|
| Тип | Локальный графический document pager и просмотрщик документов |
| Разработчик | Проект malc/moosotc и участники сообщества; разработка продолжается в основном Git-репозитории проекта |
| Рендеринг | MuPDF; вывод ускоряется через OpenGL |
| Основная платформа | Linux и другие Unix-подобные окружения; в документации также отмечен порт для macOS |
| Windows | Актуальная официальная сборка для Windows в текущей документации проекта не заявлена |
| Мобильные платформы | Официальные приложения llpp для Android и iOS в текущем проекте не представлены |
| Основные форматы | PDF, EPUB, XPS и CBZ; для EPUB/HTML предусмотрен параметр CSS |
| Управление | Клавиатура, мышь, режимы view, birdseye, outline, bookmarks, help, info и history |
| Поиск | Текстовый поиск вперёд и назад; собственная справка прямо предупреждает о его простой реализации |
| Аннотации | Добавление текстовой аннотации сочетанием Shift с правой кнопкой мыши; сохранение изменённого документа требует настройки savepath-command |
| Автоматизация | Перезагрузка по клавише, сигналу HUP и через remote-интерфейс; внешние команды для URI, выделения, пути документа и SyncTeX |
| Облако и аккаунт | Не требуются для локального просмотра |
| Стоимость | Платной редакции и подписки у проекта нет |
| Лицензирование | Upstream LICENSE помещает собственный код llpp в public domain, отдельно оговаривая сторонние части; метаданные отдельных пакетов дистрибутивов могут описывать лицензию иначе |
| Системные зависимости | MuPDF, OpenGL и OCaml-инструментарий для сборки; точные минимальные требования к CPU и RAM проект не публикует |
| Текущий статус | Разработка upstream активна; в июле 2026 года в основной ветке были изменения |
Отсутствие опубликованных минимальных требований к памяти и процессору важно трактовать буквально: для llpp нет оснований придумывать числовой порог производительности. Практическая совместимость сильнее зависит от версии MuPDF, графического стека, OCaml и того, насколько свеж пакет конкретного дистрибутива. Если сборка из репозитория требует ручной настройки зависимостей, это не означает, что документ сам по себе «слишком тяжёлый» для программы.
Интерфейс: почему в llpp почти нет привычных кнопок
Главное окно llpp занято страницами документа. Постоянной ленты инструментов, боковой панели с десятками пиктограмм и отдельного окна «Открыть» как центрального сценария у программы нет: файл обычно передаётся при запуске, а затем пользователь переключается между режимами. В обычном view mode отображается документ; команды прокрутки, перехода по страницам, поиска, изменения масштаба и перехода по ссылкам срабатывают непосредственно в этом режиме. Справка открывается поверх рабочего процесса клавишей F1 и сама поддерживает быстрый поиск по буквам.

Bird’s eye mode — отдельный обзорный режим для крупных документов. Он выводит уменьшенные страницы сеткой и позволяет быстро выбрать нужную. Это не декоративная галерея: режим встроен в основную навигацию и имеет собственные команды центрирования, перехода к началу и концу, выбора страницы клавишей Enter или мышью. Для книг и отчётов на сотни страниц bird’s eye заменяет традиционную панель миниатюр.
Outline mode показывает структуру оглавления документа. Отдельные режимы bookmarks и history используют похожую модель списка: стрелки перемещают активную строку, буквенно-цифровой ввод выполняет быстрый поиск, Ctrl+S и Ctrl+R повторяют поиск вперёд и назад, а Ctrl+Insert копирует текст активного элемента. В outline и history дополнительно работает сужение списка по шаблону и навигация по уровням вложенности. Это важно для технической литературы, где переход по заголовкам быстрее последовательного перелистывания.
Info mode служит экраном параметров. В нём Enter переключает или меняет значение выбранного параметра. Часть настроек доступна и через односимвольные команды: яркость страницы, инверсия, обрезка полей, число колонок, режим прокрутки, подсветка ссылок и полноэкранный показ. Такая схема экономит место на экране, но делает встроенную справку обязательной частью освоения.
Мышь в llpp не дублирует классический toolbar, а работает контекстно. Основная кнопка нажимает ссылку или участвует в выделении текста; Ctrl меняет поведение на панорамирование. Колесо прокручивает, Shift с колесом смещает вид по горизонтали, Ctrl с колесом меняет масштаб. Правая кнопка выделяет прямоугольник для увеличения, а Shift с правой кнопкой добавляет текстовую аннотацию. Эти жесты подтверждены текущей встроенной справкой, поэтому их полезнее запомнить, чем искать несуществующее меню «Инструменты».
Основные функции и их связь в рабочем процессе
Навигация по страницам и история переходов
llpp сочетает непрерывную прокрутку и дискретные переходы. Стрелки двигают содержимое, Space и Delete переключают страницу вперёд и назад, Home/End и g/G отправляют к краям документа, а ввод цифр задаёт номер страницы. После перехода по ссылке или другому прыжку можно вернуться назад; отдельная история поддерживает перемещение Alt+Left и Alt+Right. Поэтому внутренние перекрёстные ссылки в технических PDF не ломают позицию чтения.
Масштаб, подгонка страницы, поворот и колонки
Масштабирование не сводится к «плюсу» и «минусу». llpp умеет сбрасывать масштаб и панорамирование, подгонять самую высокую страницу, точно вписывать её по высоте, переключать модели вписывания, показывать 1:1, обрезать поля и работать в block zoom. Поворот доступен отдельно. Для разворотов и сравнения соседних страниц предусмотрено колоночное представление; число колонок относится к настраиваемым параметрам и используется также в обзорных сценариях.
Текстовый поиск и выделение
Поиск работает вперёд и назад, запоминает последнюю строку и повторяется отдельными клавишами. Регистр можно переключать настройкой чувствительности. Ограничение принципиально: собственная справка называет поиск «very naive», то есть простым, а выделение текста ограничено одной страницей. llpp не документирует встроенный OCR. Поэтому PDF, состоящий из сканов без текстового слоя, остаётся просматриваемым, но для полноценного поиска по такому документу нужен отдельный OCR-инструмент или другой просмотрщик.
Оглавление, закладки и быстрые метки
Для структурированных документов llpp читает outline и превращает его в отдельный режим. Пользователь также создаёт именованные и быстрые закладки, которые нужны не только для текущего сеанса: конфигурация хранит состояние и позиции по документам. Это заметно отличает llpp от одноразового рендера страниц и делает его подходящим для возврата к длинной книге или спецификации.
Ссылки и внешние обработчики
Внутренние ссылки открываются в llpp, а внешние URI передаются указанной пользователем команде. Параметр uri-launcher определяет программу, которая получит адрес. Аналогично существуют path-launcher, selection-command, pax-command и synctex-command. Такая архитектура хорошо интегрируется с Unix-средой, но переносит ответственность за безопасность на конфигурацию: строка в llpp.conf способна запускать внешнюю программу, поэтому чужие конфиги нельзя применять без чтения.
Аннотации и запись изменённого PDF
Редакторские возможности llpp узкие. Встроенная справка подтверждает текстовую аннотацию через Shift с правой кнопкой мыши и отдельную операцию сохранения изменений. Для записи требуется savepath-command, который возвращает путь назначения. Это позволяет сохранять в исходный PDF или направлять изменения в копию. Функции перестановки страниц, редактирования исходного текста, редактирования форм, полноценного рисования, электронной подписи или редактирования скрытых объектов как основной набор llpp не документирует; для таких задач логичнее смотреть в сторону программ для редактирования PDF.
Перезагрузка документа и remote-интерфейс
llpp рассчитан на файлы, которые могут меняться во время просмотра. Документ перезагружается обычной командой, при получении сигнала HUP или через remote-интерфейс. Последний особенно полезен в связке с LaTeX: редактор или build-система записывает новый PDF и отправляет viewer команду reload. Проект KNAP использует именно эту возможность, чтобы обновлять превью после компиляции без закрытия окна.
Конфигурация и сохранение состояния
Параметры хранятся в XML-конфигурации. Документация описывает расположение в домашней конфигурационной директории и хранение настроек, включая состояние для конкретного файла. Сочетания клавиш переназначаются по режимам: отдельные карты существуют для view, birdseye, outline, listview, info, help и других состояний. Поэтому llpp можно приблизить к vi-подобной раскладке, к собственным привычкам или к командам другого pager без изменения исходного кода.
Задача, инструмент, результат и контроль
| Задача | Инструмент llpp | Результат | Что проверить |
|---|---|---|---|
| Быстро просмотреть длинный PDF | View mode, непрерывная прокрутка и переход по номеру страницы | Нужный фрагмент открыт без отдельной панели навигации | Номер текущей позиции и корректность масштаба |
| Оценить структуру документа | Bird’s eye и outline | Видна сетка страниц или иерархия оглавления | Выбранная страница соответствует нужному разделу |
| Вернуться к месту чтения | Закладки, quick bookmark и history | Сохранён ориентир внутри документа | После повторного входа выбранная позиция открывается корректно |
| Найти термин | Поиск вперёд/назад с повтором | Найдено совпадение в текстовом слое | PDF действительно содержит текст, а не только изображение страницы |
| Сравнить соседние страницы | Колонки и подгонка | Разворот помещается в окне | Смещение первой страницы не нарушает логику левой и правой стороны |
| Открыть внешнюю ссылку | Link navigation и uri-launcher | URI передан выбранному браузеру или обработчику | Команда запуска настроена и адрес передаётся как один аргумент |
| Сделать текстовую пометку | Текстовая annotation и сохранение изменённого документа | PDF содержит добавленную пометку | Назначение savepath-command и повторное открытие сохранённого файла |
| Обновлять PDF после сборки | Reload, HUP или remote | Окно показывает новую версию файла | Позиция чтения не сбилась и канал remote доступен только нужному пользователю |
Карта форматов и совместимости
| Формат или путь ввода | Как используется | Редактируемость в llpp | Что теряется или ограничено |
|---|---|---|---|
| Основной формат прямого просмотра | Навигация, поиск, закладки и текстовые аннотации | Нет набора функций полноценного PDF-редактора; выделение текста ограничено одной страницей | |
| Защищённый PDF | Пароль передаётся параметром -p или через внешний askpass-механизм | После успешного открытия доступны функции viewer | Без корректного пароля содержимое не открывается |
| EPUB | Прямой просмотр на базе MuPDF; можно указать stylesheet параметром -css | Чтение и навигация | llpp не превращается в EPUB-редактор и не экспортирует отредактированную книгу |
| XPS | Прямой просмотр через движок MuPDF | Чтение и навигация | Редактирование структуры XPS не является функцией llpp |
| CBZ | Просмотр страниц архива как документа | Чтение и масштабирование | Нет инструментов управления содержимым архива |
| HTML | Документация предусматривает CSS для HTML/EPUB; вспомогательный llppac умеет направлять HTML через конвертацию | Просмотр результата | Качество зависит от рендеринга и внешнего конвертера в сценарии llppac |
| PostScript, Texinfo, DjVu и другие входы llppac | llppac определяет тип, запускает внешний конвертер, кэширует результат и затем открывает его в llpp | Редактируется не исходник, а просматривается конвертированный результат | Нужны внешние утилиты; результат зависит от конвертера и его доступности |
| Текстовое выделение | Передаётся во внешнюю command pipeline | Обрабатывается сторонней программой | Выделение внутри llpp не охватывает несколько страниц |
| Сохранённый PDF с аннотацией | Записывается по пути, возвращённому savepath-command | Пометка становится частью сохранённого PDF | При записи поверх исходника возврат требует резервной копии |
llpp не следует рассматривать как универсальный конвертер. Встроенный viewer отвечает за показ документов, а llppac расширяет путь ввода через внешние программы и кеш. Если задача состоит именно в преобразовании содержания PDF в редактируемый документ, отдельная статья GeekHow о преобразовании PDF в Google Документы описывает другой класс рабочего процесса.
Цена, лицензирование, приватность и зависимость от интернета
У llpp нет коммерческой линейки Free/Pro, подписки, ограничения по количеству открытых страниц, платного облачного хранилища или обязательной регистрации. Основной код распространяется вместе с исходниками; upstream LICENSE помещает собственный код llpp в public domain и отдельно оставляет уведомления для включённых сторонних компонентов. Метаданные конкретного пакета дистрибутива могут использовать другую строку лицензии, поэтому при повторном распространении сборки нужно читать именно лицензионные файлы выбранного исходника и пакета, а не ориентироваться на краткое описание в каталоге.
Просмотр локального файла не требует отправки PDF на сервер. Это существенное отличие от браузерных редакторов: исходный документ остаётся на компьютере, пока пользователь сам не запускает внешнюю команду, не открывает сетевой URI или не использует llppac с URL. У llpp нет аккаунтного сервера, который должен подтвердить подписку, и нет встроенной облачной синхронизации, поэтому отключение сети не блокирует обычное чтение уже доступного локального файла.
Приватность зависит и от конфигурации. uri-launcher передаёт ссылки внешнему приложению, selection-command и pax-command получают выделенный текст или регион, path-launcher получает путь к документу, synctex-command — координаты и путь. Эти механизмы позволяют построить рабочую среду вокруг llpp, но одновременно являются точками передачи данных. Конфигурацию из непроверенного источника следует рассматривать как исполняемую настройку: команды нужно прочитать до первого запуска.
Безопасность разбора PDF и других форматов связана с MuPDF. Поэтому для регулярно получаемых извне документов разумнее использовать поддерживаемую сборку с актуальным движком, чем годами держать старый бинарный файл из случайного архива. llpp не добавляет облачный антивирусный слой и не обещает изоляцию подозрительного документа; его модель — локальный viewer поверх библиотек системы.
Что перестанет работать первым
У llpp нет лицензии, аккаунта и облачной авторизации, поэтому первыми зависимостями становятся не серверы разработчика, а локальное окружение. При обновлении MuPDF, OCaml, OpenGL-библиотек или компилятора может перестать собираться старый пакет. История пакетов разных дистрибутивов показывает именно такой класс проблем: viewer остаётся живым проектом, но рецепт сборки должен соответствовать текущему API библиотек.
Второй уровень — внешние обработчики. Если из системы исчезнет программа, указанная в uri-launcher, ссылки перестанут открываться во внешнем браузере, хотя сам PDF продолжит отображаться. Аналогично selection-command, pax-command, path-launcher и synctex-command зависят от выбранных пользователем утилит. llpp сообщает ошибку или перестаёт выполнять связанную операцию, но базовый режим чтения не требует этих интеграций.
Третий уровень — конвертация через llppac. Прямой PDF продолжает открываться, а PostScript, DjVu, Texinfo или HTML, которые передаются через внешний конвертер, не пройдут цепочку без соответствующей программы. Кэш llppac тоже может скрыть изменение исходного файла до принудительного обновления. Поэтому при диагностике важно сначала отделить «llpp не показывает PDF» от «внешний конвертер не подготовил документ».
Конфигурационный файл влияет на запуск, клавиши, обработчики и сохранение изменений. Старые build-инструкции проекта отдельно предупреждают о проблемах, когда ожидаемая конфигурационная директория отсутствует. Если новый пакет не стартует, сначала проверяется именно окружение и путь конфигурации, а не содержимое PDF. Для общего понимания домашнего каталога, прав и конфигурационных файлов пригодится руководство по Linux для начинающих.
Как пользоваться программой — советы гика
В llpp рабочие действия привязаны к режимам и клавишам, поэтому ниже используются имена из текущей встроенной справки. Команды относятся к стандартной раскладке; пользовательский llpp.conf способен переназначить их. Перед изменением PDF лучше работать с копией, а перед сложной настройкой открыть F1 и убедиться, что локальная сборка показывает те же привязки.
Как открыть документ и сразу перейти к нужной позиции
Цель. Запустить llpp с конкретным файлом и, при необходимости, открыть заданную страницу, последнюю сохранённую позицию или защищённый документ.
Подготовка. Нужны установленный llpp и читаемый локальный файл. Для обычного запуска передайте путь к документу после имени программы: llpp /путь/к/file.pdf. Путь с пробелами передаётся оболочке в кавычках. Для номера страницы используется -page, для последнего посещённого места — -last, для пароля — -p. Не записывайте пароль в постоянный shell-скрипт, доступный другим пользователям; для регулярной работы предусмотрен внешний askpass-механизм через LLPP_ASKPASS.
- Откройте терминал в текущей пользовательской сессии.
- Запустите llpp /путь/к/документу.pdf.
- Для старта на определённой странице добавьте перед путём -page N, где N — номер страницы.
- Для возврата к сохранённому месту используйте -last.
- После появления страницы нажмите =, чтобы вывести текущую позицию, или F1, чтобы открыть встроенную справку и сверить локальные клавиши.
Проверка результата. В окне отображается именно переданный документ, а позиция соответствует выбранному режиму запуска. Типичная ошибка: приложение не стартует или мгновенно завершается из-за проблем окружения либо конфигурационной директории. В этом случае сначала проверьте запуск простого локального PDF и наличие пользовательской конфигурационной директории. Безопасный откат: закройте llpp клавишей Escape или q; исходный документ при обычном просмотре не изменяется.
Как листать документ и возвращаться после переходов
Цель. Перемещаться по длинному PDF без панели миниатюр и не терять место после внутренних ссылок.
Подготовка. Документ должен находиться в обычном view mode. Если открыт outline, help, history или bird’s eye, выйдите из него Escape.
- Используйте Up/Down для вертикальной прокрутки и Left/Right для горизонтального смещения при увеличенном масштабе.
- Space переводит к следующей странице, Delete — к предыдущей.
- PageUp/PageDown перемещают вид на экранный шаг, а Ctrl+стрелки — примерно на половину ширины или высоты экрана.
- Нажмите g или Home для начала и G или End для конца документа.
- Введите цифры номера страницы и подтвердите Enter.
- После прыжка по ссылке нажмите Backspace для возврата; Alt+Left и Alt+Right двигают историю назад и вперёд.
Проверка результата. Номер страницы и визуальная позиция меняются предсказуемо, а возврат приводит к месту до перехода. Типичная ошибка: стрелки двигают не страницу, а активную строку списка. Это означает, что llpp находится в outline, bookmarks, help, info или history. Безопасный откат: Escape возвращает в view mode без изменения документа.
Как настроить масштаб, подгонку и просмотр без широких полей
Цель. Подогнать страницу под окно или приблизить конкретный блок, не меняя сам PDF.
Подготовка. Откройте страницу, по которой удобно оценить ширину полей и размер текста.
- Используйте Ctrl++ или Ctrl+= для увеличения и Ctrl+- для уменьшения.
- Ctrl+0 сбрасывает масштаб и панорамирование.
- Ctrl+1 подгоняет самую высокую страницу, Ctrl+2 точно вписывает её высоту, Ctrl+3 циклически переключает модели подгонки, Ctrl+4 ставит масштаб 1:1.
- Для временного приближения прямоугольного фрагмента протяните область правой кнопкой мыши.
- Клавиша B включает и выключает block zoom; параметр -T среди tunables переключает обрезку полей.
- Alt+c центрирует вид, а клавиши < и > поворачивают страницу.
Проверка результата. Текст читается при нужной ширине, а Ctrl+0 возвращает контролируемую исходную геометрию. Типичная ошибка: после экспериментов страница остаётся смещённой за край окна. Используйте Ctrl+0 и затем подходящий режим Ctrl+1–Ctrl+3. Безопасный откат: изменения масштаба, обрезки и поворота представления не переписывают PDF, пока не выполняется отдельная операция сохранения изменений.
Как быстро найти страницу в bird’s eye
Цель. Получить сетку уменьшенных страниц и перейти к нужному развороту в документе на десятки или сотни страниц.
Подготовка. Откройте документ в view mode; наиболее полезен режим для файлов с визуально различимыми страницами, схемами или крупными заголовками.
- Нажмите F9 или Ctrl+9, чтобы войти в bird’s eye.
- Перемещайтесь PageUp/PageDown или обычными Up/Down; Home/End ведут к началу и концу.
- Ctrl+l центрирует сетку на текущей выбранной странице.
- Выделите нужную страницу и нажмите Enter. Левой кнопкой мыши можно сразу выбрать страницу под курсором и выйти из режима.
- Для отказа от перехода нажмите Escape, F9 или Ctrl+9.
Проверка результата. После Enter или клика llpp возвращается к обычному просмотру на выбранной странице. Типичная ошибка: пользователь ожидает постоянную боковую ленту миниатюр и продолжает искать её мышью. Bird’s eye в llpp — отдельный полнооконный режим, а не sidebar. Безопасный откат: Escape закрывает обзор и возвращает прежний рабочий режим.
Как пользоваться оглавлением, закладками и историей
Цель. Переходить по структурированному PDF, оставлять собственные точки возврата и искать недавние места.
Подготовка. Для outline документ должен содержать встроенную структуру оглавления; пользовательские bookmarks создаются независимо от неё.
- Нажмите o, чтобы открыть outline/table of contents.
- Выбирайте элементы стрелками Up/Down. Буквенно-цифровой ввод начинает быстрый поиск по списку; Ctrl+s и Ctrl+r повторяют его вперёд и назад.
- В outline клавиши Left/Right переходят по уровням, Shift+Left/Right — к предыдущему или следующему элементу того же либо более высокого уровня.
- Вернитесь в view mode клавишей Escape и нажмите m для именованной закладки или ~ для быстрой.
- Клавиша ‘ открывает режим закладок, а Alt+F1 — историю.
- В списковых режимах Ctrl+Insert копирует текст активного пункта; Ctrl+l центрирует текущий элемент.
Проверка результата. Outline приводит к соответствующему разделу, пользовательская закладка снова доступна в bookmarks, а history содержит выполненные переходы. Типичная ошибка: пустой outline воспринимается как неисправность viewer. llpp не может построить иерархию, которой нет в метаданных документа. Безопасный откат: Escape выходит из любого списка; создание закладки меняет пользовательское состояние, а не содержимое исходного PDF.
Как искать текст и повторять совпадения
Цель. Найти термин в документе с текстовым слоем и быстро пройти по совпадениям.
Подготовка. Убедитесь, что текст действительно выделяется мышью. Страница, состоящая только из сканированного изображения, не получает распознавание внутри llpp.
- Нажмите / для поиска вперёд или ? для поиска назад.
- Введите строку и подтвердите Enter. Во время ввода Up/Down вызывают предыдущие и следующие введённые строки.
- Нажмите n, чтобы повторить поиск вперёд, либо p или N, чтобы повторить назад.
- Параметр -i в tunables переключает чувствительность к регистру.
- Ctrl+g прерывает поиск; при вводе строки Ctrl+g или Escape отменяют операцию.
Проверка результата. Подсветка перемещается по совпадениям в ожидаемом направлении. Типичная ошибка: слово визуально видно на скане, но поиск его не находит. Причина — отсутствие текстового слоя или ограниченность простого поискового механизма llpp. Безопасный откат: клавиша u снимает подсветку, а поиск не изменяет документ.
Как переходить по ссылкам и открыть URI внешней программой
Цель. Использовать внутренние и внешние ссылки без постоянного клика по мелким областям документа.
Подготовка. Для внешних web-адресов задайте в llpp.conf обработчик uri-launcher. Типичный Linux-вариант передаёт URI системной команде xdg-open. Строку конфигурации нужно составлять так, чтобы адрес передавался как один аргумент, а не интерпретировался оболочкой по частям.
- В view mode нажмите l, чтобы переключить подсветку ссылок.
- Нажмите Insert, чтобы войти в link navigation mode, или F, чтобы перейти к подсказанной ссылке.
- Выберите ссылку и подтвердите Enter.
- Для копирования описания выбранной ссылки в буфер обмена используйте y.
- Если внешний URI не открывается, нажмите e и проверьте error log, затем сверяйте значение uri-launcher в конфигурации.
Проверка результата. Внутренняя ссылка меняет позицию внутри документа, а внешний URI передаётся выбранному системному приложению. Типичная ошибка: ссылки подсвечиваются, но браузер не запускается. По умолчанию внешний обработчик может быть не задан. Безопасный откат: удалите или закомментируйте собственную команду запуска из llpp.conf и перезапустите viewer; это не меняет PDF.
Как выделить текст и передать его внешней команде
Цель. Использовать llpp как фронтенд к Unix-команде: отправить выбранный фрагмент в скрипт, словарь, фильтр или другой локальный инструмент.
Подготовка. Сначала настройте безопасную selection-command или команду, которую llpp применит к выделению. Не вставляйте shell-строки, происхождение и последствия которых не понятны. Встроенная справка отдельно предупреждает, что обычное текстовое выделение ограничено одной страницей.
- Протяните выделение основной кнопкой мыши по тексту на одной странице.
- Нажмите |, чтобы передать selection в указанную команду.
- Клавиша x запускает настроенную pax-команду на выбранной области, а Ctrl+p запускает команду, которой передаётся путь текущего документа.
- Для определения объекта под курсором используйте tunable -f; в link navigation он относится к текущему выбранному объекту.
Проверка результата. Внешний процесс получает именно ожидаемый фрагмент или путь; содержимое исходного файла остаётся тем же. Типичная ошибка: команда работает в терминале, но не из llpp из-за другого PATH, кавычек или неверной строки конфигурации. Безопасный откат: временно очистите соответствующую command-настройку и проверьте обычное выделение без внешнего запуска.
Как добавить текстовую аннотацию и сохранить изменённый PDF
Цель. Добавить встроенную текстовую пометку и записать новый результат на диск.
Подготовка. Сделайте копию важного PDF. В llpp.conf должен быть настроен savepath-command; распространённая конфигурация возвращает текущий путь через команду echo, но безопаснее направить сохранение в отдельный файл, пока схема не проверена. В текущей встроенной справке ветки latest операция сохранения привязана к заглавной W.
- Откройте копию PDF и перейдите к нужной странице.
- Удерживая Shift, нажмите правую кнопку мыши в месте пометки; llpp создаёт текстовую аннотацию.
- Введите текст аннотации и подтвердите ввод по текущему диалогу text entry.
- Нажмите W, чтобы выполнить сохранение изменений по пути, который вернул savepath-command.
- Закройте документ, снова откройте сохранённый файл и убедитесь, что пометка присутствует.
Проверка результата. После повторного открытия аннотация видна в сохранённом PDF, а исходная копия остаётся доступна для сравнения. Типичная ошибка: llpp сообщает, что savepath-command пуст, или после закрытия пометка пропадает. Это означает, что путь сохранения не настроен либо операция записи не была выполнена. Безопасный откат: до нажатия W клавиша Q завершает программу без сохранения конфигурации или изменений; после записи используйте заранее сделанную копию. Не ориентируйтесь на старые внешние шпаргалки, где сохранение назначено на строчную w: в актуальной встроенной справке строчная w выполняет другую функцию — меняет высоту окна под страницу.
Как перезагружать PDF и подключить remote-интерфейс
Цель. Обновлять просмотр после генерации новой версии PDF, например при компиляции LaTeX, без ручного закрытия viewer.
Подготовка. Для простого случая достаточно клавиши reload. Для автоматизации создайте именованный канал FIFO с правами только владельца и передайте его llpp параметром -remote. Такой же механизм используется в интеграциях редакторов, которым нужно обновлять PDF после сборки.
- Для ручной проверки откройте PDF и нажмите r; llpp перечитает документ.
- Для сигнального варианта отправьте процессу llpp сигнал HUP: встроенная справка подтверждает автоматическую перезагрузку при его получении.
- Для remote-варианта создайте FIFO, доступный владельцу, и запустите llpp с -remote /путь/к/fifo перед путём PDF.
- После обновления файла отправьте в FIFO команду reload.
- Сверьте страницу и позицию после перечитывания.
Проверка результата. В том же окне появляется новая версия PDF. Типичная ошибка: генератор обновляет файл, но llpp показывает прежнюю страницу, потому что ни r, ни HUP, ни remote-команда не были отправлены. Безопасный откат: остановите viewer, удалите созданный FIFO и вернитесь к ручной перезагрузке r; PDF от этого не меняется.
Сквозной сценарий: открыть технический PDF, найти раздел, поставить закладку и сохранить пометку
Цель. Связать основные функции llpp в один воспроизводимый маршрут от запуска до проверенного сохранённого результата.
Подготовка. Возьмите копию PDF с текстовым слоем и оглавлением, настройте savepath-command на отдельный выходной файл и заранее убедитесь через F1, что локальная сборка использует стандартные клавиши.
- Запустите llpp с копией документа и проверьте текущую позицию клавишей =.
- Нажмите o, найдите раздел в outline и подтвердите нужный пункт; Escape вернёт в view mode.
- Нажмите /, введите термин внутри раздела и при необходимости переходите по совпадениям клавишей n.
- Для визуальной проверки соседних страниц откройте bird’s eye через F9, выберите нужную и подтвердите Enter.
- Поставьте именованную закладку клавишей m, чтобы сохранить точку возврата.
- Удерживая Shift, нажмите правую кнопку мыши на месте комментария, введите текст аннотации и подтвердите.
- Нажмите W для сохранения изменённого PDF в путь, возвращённый savepath-command.
- Закройте llpp, откройте сохранённый файл заново и проверьте аннотацию; затем откройте bookmarks клавишей ‘ и убедитесь, что нужная точка доступна в пользовательском состоянии.
Проверка результата. На диске есть отдельный PDF с аннотацией, а в llpp сохранена удобная точка возврата. Типичная ошибка: пользователь смешивает bookmark и PDF-annotation. Закладка относится к состоянию llpp, а текстовая пометка записывается в изменённый документ только после отдельного сохранения. Безопасный откат: при сомнении не перезаписывайте исходник; удалите тестовую выходную копию и повторите операцию с новым файлом.
Плюсы и минусы llpp
Плюсы
- Документ обрабатывается локально: для обычного чтения не нужен аккаунт, подписка или загрузка PDF в облако.
- Управление ориентировано на клавиатуру и режимы, поэтому большая часть окна остаётся свободной под страницу.
- Bird’s eye, outline, bookmarks и history дают несколько независимых способов перемещаться по длинным книгам и отчётам.
- Есть точные команды масштаба, подгонки, обрезки полей, поворота, колонок и панорамирования, а сочетания клавиш переназначаются по режимам.
- Документ можно перечитывать клавишей, сигналом HUP и через remote-интерфейс, что подходит для автоматического превью генерируемого PDF.
- Поддерживаются внешние обработчики URI, выделения, пути документа, SyncTeX и пользовательских команд, поэтому llpp хорошо встраивается в Unix-инструментарий.
- Кроме PDF, viewer работает с EPUB, XPS и CBZ; для EPUB/HTML предусмотрена настройка CSS, а llppac расширяет вход через внешнюю конвертацию.
- Текстовые аннотации можно сохранить обратно в PDF при корректно настроенном пути назначения.
Минусы
- Классический интерфейс с меню и подписанными кнопками отсутствует; без F1 и запоминания клавиш программа заметно сложнее для первого знакомства.
- Встроенная справка прямо называет текстовый поиск простым, а выделение текста ограничено одной страницей.
- Встроенный OCR, облачная синхронизация, совместная работа и ИИ-функции в текущей документации не представлены.
- Аннотирование намного уже возможностей специализированных PDF-редакторов: llpp не предназначен для перестановки страниц, редактирования исходного текста и сложной разметки.
- Сохранение изменённого PDF требует настройки savepath-command; неверная конфигурация способна направить запись не туда, куда ожидает пользователь.
- Пакетная совместимость зависит от MuPDF, OCaml и графических библиотек; старый рецепт сборки после обновления зависимостей может перестать работать.
- Windows-сборка не относится к подтверждённым актуальным целям проекта, поэтому для Windows есть более прямые альтернативы.
- Внешние команды повышают гибкость, но одновременно создают риск запуска нежелательного shell-кода из чужого конфигурационного файла.
Кому подойдёт и кому не подойдёт
Кому подойдёт
- Пользователям Linux, которые читают много PDF с клавиатуры. Модель less-подобного pager убирает постоянный toolbar и ускоряет переход между страницами, историей, outline и поиском после освоения клавиш.
- Разработчикам и авторам LaTeX. Reload, HUP, remote-интерфейс и SyncTeX-команда позволяют связать viewer с редактором и системой сборки.
- Тем, кто предпочитает локальную обработку. Для чтения локального документа не требуется аккаунт или серверная загрузка.
- Пользователям Unix-конвейеров. Выделение, URI и путь файла можно передавать внешним утилитам вместо ожидания встроенной функции на каждый сценарий.
- Читателям длинных технических документов. Bird’s eye, оглавление, закладки и история дополняют друг друга и помогают быстро менять масштаб навигации от одной строки до всего документа.
Кому не подойдёт
- Пользователю, которому нужен традиционный GUI. Если важны видимые кнопки «Открыть», «Печать», панель миниатюр и контекстные панели аннотаций, Okular или другой классический viewer потребует меньше обучения.
- Тому, кто редактирует структуру PDF. Для удаления, перестановки, объединения страниц, редактирования текста и сложной формы нужен PDF-редактор, а не pager.
- Работе со сканами без текстового слоя. llpp не документирует OCR, поэтому распознавание нужно выполнять отдельным инструментом.
- Командам с общей библиотекой документов. Облачные роли, комментарии нескольких участников, синхронизация и история совместных изменений не являются функциями llpp.
- Пользователям Windows, которым нужна готовая поддерживаемая сборка. Актуальная документация llpp не заявляет Windows как основной официальный target.
Матрица сохранности результата
| Действие | Что сохраняется | Что не меняется или теряется | Обратимость | Открытие в другом ПО |
|---|---|---|---|---|
| Прокрутка, поиск, масштаб, bird’s eye | Текущее состояние viewer и часть параметров сессии | Содержимое PDF не переписывается | Полностью обратимо командами вида и закрытием | Исходный файл остаётся обычным документом |
| Именованная или быстрая закладка | Ориентир хранится в состоянии llpp | Внутренняя структура PDF не получает новую PDF-закладку | Удаление пользовательского состояния не требует правки документа | Другой viewer не обязан видеть закладку llpp |
| History | История переходов в рамках состояния llpp | PDF не получает журнал просмотров | Не влияет на исходник | История не переносится как часть PDF |
| Выделение и external command | Результат зависит от внешней команды | Само выделение не изменяет документ | До внешней записи полностью обратимо | Переданный текст или файл существует независимо от viewer, если внешняя команда его сохранила |
| Текстовая аннотация до W | Изменение существует в текущем открытом документе | Файл на диске ещё не содержит подтверждённой записи | Q завершает работу без сохранения изменений | Другой viewer увидит исходную версию файла |
| W с корректным savepath-command | Изменённый PDF записывается в выбранный путь | При записи поверх оригинала старое состояние без резервной копии не сохраняется | Обратимость обеспечивается отдельной копией | Сохранённая PDF-аннотация должна открываться в совместимом PDF-viewer |
| Reload, HUP или remote reload | Viewer перечитывает версию файла с диска | Несохранённые изменения не следует считать защищёнными | Исходный файл остаётся главным источником состояния после reload | Другие программы увидят ту же записанную на диск версию |
| llppac с конвертацией | Кэшируется подготовленный для просмотра результат | Исходный формат не превращается в редактируемый проект llpp | Исходник остаётся отдельным файлом | Переносимость зависит от формата результата и внешнего конвертера |
Главное разделение проходит между состоянием viewer и содержимым документа. Закладка llpp, история и масштаб помогают вернуться к работе, но сами по себе не являются правкой PDF. Текстовая аннотация становится переносимой только после записи изменённого PDF. Поэтому резервная копия нужна именно перед W, а не перед обычной навигацией.
Сравнение с другими аналогами
| Критерий | llpp | Zathura | Okular | MuPDF viewer | Sioyek |
|---|---|---|---|---|---|
| Основная задача | Клавиатурный document pager с минимальным интерфейсом | Минималистичный клавиатурный viewer с системой плагинов | Универсальный GUI-просмотрщик с развитой аннотацией | Лёгкий viewer и базовый интерфейс к экосистеме MuPDF | Чтение PDF, особенно статей и технических книг, с исследовательской навигацией |
| Платформа | Прежде всего Linux/Unix; документирован macOS-port | Unix-подобные системы; проект ориентирован на Linux-окружение | Linux, Windows, macOS и BSD | Кроссплатформенная экосистема MuPDF; desktop viewer доступен на Unix-подобных системах и в исходниках | Linux, Windows и macOS |
| Порог освоения | Высокий для пользователя GUI: нужно запомнить режимы и клавиши | Средне-высокий: тоже ориентирован на клавиатуру, но имеет привычное сообщество конфигураций | Низкий или средний: меню, панели, sidebar и видимые инструменты | Средний: viewer прост, дополнительные операции часто уходят в командную строку | Средний: интерфейс специализирован, но функции чтения более явно ориентированы на исследовательские сценарии |
| Форматы | PDF, EPUB, XPS, CBZ; дополнительные входы через llppac | Форматы подключаются плагинами, включая PDF, PostScript, DjVu и comic book | PDF, PostScript, DjVu, XPS, EPUB, FictionBook, DVI, изображения и другие поддерживаемые форматы | PDF, XPS, EPUB, XHTML, CBZ и изображения | Основной фокус — PDF |
| Автоматизация | HUP, remote, SyncTeX и внешние команды | Настраиваемые команды, SyncTeX, auto reload и клавиатурная интеграция | Автоматизация не является центральной моделью; акцент на GUI и функциях документа | Сильная сторона экосистемы — командный mutool рядом с viewer | Конфигурируемые клавиши, команды и функции навигации по научным документам |
| Модель оплаты | Бесплатный исходный проект без подписки | Бесплатное ПО с открытым исходным кодом | Бесплатное ПО с открытым исходным кодом | Свободная версия MuPDF распространяется под AGPL; коммерческое лицензирование относится к иным сценариям использования библиотеки | Бесплатное ПО с открытым исходным кодом |
| Главные ограничения | Спартанский GUI, простой поиск, одно-page selection, узкие аннотации | Многое зависит от выбранных плагинов и конфигурации | Интерфейс и набор компонентов тяжелее минималистичных pager-решений | Меньше высокоуровневых функций организации чтения, чем у специализированных viewers; преобразования вынесены в инструменты | Узкая специализация вокруг PDF и научного чтения; не универсальный редактор |
| Подходящий сценарий | Linux, keyboard-first чтение, LaTeX preview, локальная автоматизация | Пользователь хочет vi-подобный viewer и гибкую plugin-модель | Нужны видимые панели, аннотации и широкий выбор платформ | Нужен компактный базовый viewer и отдельные CLI-инструменты MuPDF | Нужно регулярно читать статьи, переходить между ссылками, формулами и отмеченными местами |
Сравнение показывает не «победителя», а разные модели работы. llpp логичен, когда важны keyboard-first навигация и автоматическое обновление локального PDF. Zathura ближе всего по философии, но строит форматную поддержку вокруг плагинов. Okular лучше подходит пользователю, который ожидает традиционный desktop-интерфейс и богатые аннотации. MuPDF viewer полезен как минимальная оболочка вокруг того же семейства рендеринга и командных инструментов. Sioyek стоит выбирать, когда центральная задача — регулярное чтение научных PDF с быстрыми возвратами и специализированной навигацией.
Типичные проблемы llpp и диагностика
1. llpp не запускается или сразу закрывается после сборки
Симптом: бинарный файл создан, но окно не появляется или процесс завершается на старте. Возможная подтверждённая причина: build-документация проекта отдельно предупреждает, что отсутствие ожидаемой пользовательской конфигурационной директории способно привести к сбою запуска; кроме того, сборка зависит от MuPDF, OpenGL и OCaml-окружения. Диагностика: запустите llpp из терминала, прочитайте stderr и error log, проверьте наличие домашней конфигурационной директории и зависимостей. Исправление: создайте ожидаемую директорию конфигурации с правами владельца либо используйте пакет дистрибутива, собранный для текущих библиотек. Проверка результата: простой локальный PDF открывается без аварийного завершения.
2. Пакет перестал собираться после обновления MuPDF или OCaml
Симптом: прежний PKGBUILD, ebuild или ручная команда компиляции выдаёт ошибки API, типов или линковки. Возможная подтверждённая причина: llpp тесно связан с MuPDF и OCaml, а upstream в 2026 году продолжал адаптацию к новым версиям инструментария. Диагностика: сравните дату локального рецепта сборки с текущей веткой upstream и метаданными поддерживаемого пакета вашего дистрибутива. Исправление: обновите исходники и рецепт как единый набор либо используйте поддерживаемую пакетную версию; не смешивайте старый llpp с произвольным новым API MuPDF. Проверка результата: сборка завершается без несовместимых символов, а F1 показывает версию llpp, OCaml и Fitz/MuPDF.
3. Страница стала слишком тёмной, инвертированной или странно обрезанной
Симптом: документ открывается, но белый фон выглядит серым или чёрным, поля исчезают, либо вид отличается от другого viewer. Возможная подтверждённая причина: llpp умеет менять яркость, инверсию и trimming, а параметры могут сохраняться в конфигурации. Диагностика: откройте info mode клавишей i и сверяйте текущие tunables, особенно инверсию и обрезку; используйте F1 для проверки назначений локальной раскладки. Исправление: отключите соответствующий tunable и сбросьте масштаб/panning через Ctrl+0. Проверка результата: страница снова отображается с ожидаемым фоном и полями без изменения исходного PDF.
4. Поиск не находит слово, которое видно на странице
Симптом: / или ? не приводят к визуально очевидному слову. Возможная подтверждённая причина: встроенная справка характеризует поиск как простой; кроме того, llpp не документирует OCR, поэтому изображение текста без текстового слоя не становится searchable. Диагностика: попытайтесь выделить тот же фрагмент мышью и проверьте PDF в инструменте, который показывает наличие текстового слоя. Исправление: для скана сначала выполните OCR во внешней программе; для сложного поиска используйте viewer с более развитым поисковым движком. Проверка результата: после появления текстового слоя стандартный поиск llpp находит простой термин.
5. Не получается выделить текст сразу на двух страницах
Симптом: выделение заканчивается на границе текущей страницы. Возможная подтверждённая причина: это прямое ограничение текущей встроенной справки: text selection ограничен одной страницей. Диагностика: выделите два коротких фрагмента по отдельности на соседних страницах; каждый из них должен работать в пределах своей страницы. Исправление: передавайте части внешней команде по одной странице или используйте специализированное извлечение текста для многостраничного диапазона. Проверка результата: каждый отдельный page-selection корректно передаётся настроенному обработчику.
6. Ссылка подсвечивается, но браузер не открывается
Симптом: llpp распознаёт внешний URI, но после выбора ничего не происходит или появляется запись в error log. Возможная подтверждённая причина: запуск внешних URI делегирован параметру uri-launcher, который по умолчанию не обязан быть настроен. Диагностика: нажмите e, изучите error log и проверьте строку uri-launcher в llpp.conf. Исправление: задайте существующий системный обработчик и корректно заключите передаваемый адрес в кавычки как один аргумент. Проверка результата: выбранная ссылка открывается системным приложением, а внутренние PDF-ссылки продолжают работать внутри llpp.
7. Аннотация исчезла после закрытия документа
Симптом: текстовая пометка была видна в сеансе, но после повторного открытия исходного PDF её нет. Возможная подтверждённая причина: изменённый документ не был записан либо savepath-command не возвращал путь назначения. Дополнительная ловушка — устаревшие шпаргалки, где сохранение указано на строчную w, тогда как текущая встроенная справка ветки latest назначает сохранение на заглавную W. Диагностика: откройте F1, найдите раздел Quitting, проверьте строку W — save changes и затем error log после попытки записи. Исправление: настройте savepath-command и сохраняйте W в отдельную копию. Проверка результата: после закрытия и повторного открытия именно сохранённого файла аннотация остаётся.
8. Сгенерированный LaTeX-PDF изменился на диске, а окно llpp показывает старую версию
Симптом: компиляция завершилась, timestamp PDF новый, но viewer не перечитал содержимое. Возможная подтверждённая причина: llpp обновляет документ после команды reload, сигнала HUP или сообщения remote; сам факт перезаписи файла внешним процессом не заменяет этот триггер. Диагностика: нажмите r. Если содержимое обновилось, рендерер работает, а проблема находится в интеграции. Исправление: настройте build-hook на HUP или remote reload; FIFO создавайте с доступом только владельцу. Проверка результата: следующая компиляция обновляет то же окно без ручного перезапуска llpp.
9. Защищённый PDF не открывается из автоматизированного сценария
Симптом: обычный PDF открывается, а файл с паролем выдаёт ошибку или ждёт ввод, которого автоматизация не предоставляет. Возможная подтверждённая причина: llpp принимает пароль через -p и поддерживает внешний механизм LLPP_ASKPASS; неверный пароль или неработающая askpass-команда блокируют расшифровку. Диагностика: проверьте документ вручную с известным паролем и затем отдельно команду askpass. Исправление: используйте корректный -p только для разового локального запуска или настройте защищённый askpass без хранения секрета в общедоступном файле. Проверка результата: тот же защищённый документ открывается, а обычные PDF продолжают запускаться без дополнительного ввода.
10. llppac не открывает DjVu, PostScript, HTML или другой конвертируемый вход
Симптом: llppac принимает путь, но не запускает viewer с ожидаемым результатом. Возможная подтверждённая причина: llppac сам не содержит все конвертеры: он определяет тип, вызывает внешнюю программу и использует кэш. Ошибка появляется при отсутствии нужного конвертера, неверном MIME/type или устаревшем кэше. Диагностика: определите, какой внешний формат передан и установлена ли соответствующая утилита; сравните результат с прямым PDF, который открывает сам llpp. Исправление: восстановите нужный конвертер, а для обновившегося исходника принудительно игнорируйте кэш опцией -f; параметры -m и -t задавайте только при точно известном типе. Проверка результата: llppac создаёт свежий промежуточный документ и открывает его в llpp, не меняя исходный файл.
FAQ по llpp
llpp — это только PDF Reader?
PDF — главный сценарий и историческое описание проекта, но viewer работает также с EPUB, XPS и CBZ, а документация содержит поддержку stylesheet для EPUB/HTML. Вспомогательный llppac дополнительно умеет строить цепочки преобразования через внешние программы. Поэтому точнее называть llpp document pager на базе MuPDF, а не приложением строго одного формата.
Нужно ли регистрироваться или подключаться к интернету?
Нет. Локальный документ открывается без аккаунта и облачного сервиса. Сеть появляется только в тех действиях, которые пользователь сам выводит наружу: открытие web-URI, URL в llppac или внешняя команда, использующая сетевой ресурс.
Можно ли считать llpp полноценным PDF-редактором?
Нет. llpp умеет добавлять текстовую аннотацию и сохранять изменённый PDF, но его основная архитектура — просмотр и навигация. Инструменты редактирования текста документа, перестановки страниц и сложной разметки не составляют подтверждённый набор функций проекта.
Почему у llpp нет привычной кнопки «Открыть файл»?
Основной интерфейс построен как pager: путь передаётся при запуске, а рабочее окно посвящено странице. Это сознательная less-подобная модель, а не недогруженная панель интерфейса. Для пользователей, которые хотят выбирать файлы мышью внутри приложения, традиционный GUI-viewer удобнее.
Есть ли русская локализация?
Текущая встроенная help-текстовка и пользовательская документация проекта — на английском, а подтверждённого русскоязычного интерфейсного пакета проект не предоставляет. Поскольку интерфейс в основном состоит из клавиш и коротких режимов, языковая нагрузка невелика, но названия параметров конфигурации остаются английскими.
Есть ли в llpp встроенный OCR, облачный перевод или ИИ-анализ PDF?
Такие функции в текущей документации и встроенной справке llpp не представлены. Viewer рендерит и ищет существующий текстовый слой. Для распознавания скана, автоматического перевода или генеративного анализа нужен отдельный инструмент.
Можно ли печатать прямо из llpp?
Текущая встроенная справка и manpage не перечисляют отдельную штатную команду печати как функцию viewer. Unix-модель позволяет передать путь внешней программе через настраиваемую команду, но пользователю, которому нужен обычный диалог печати с предпросмотром и выбором страниц, проще использовать Okular или другой GUI-просмотрщик.
Где хранится конфигурация и зачем её резервировать?
llpp использует пользовательский XML-файл конфигурации в домашнем config-каталоге и сохраняет там параметры и состояние работы с документами. Резервная копия этого файла полезна не ради самого PDF, а ради собственных сочетаний клавиш, обработчиков внешних команд, bookmarks и настроек просмотра. Перед переносом конфигурации на другой компьютер нужно отдельно проверить все shell-команды и пути.
Почему номер AUR-пакета не совпадает с последним тегом upstream?
Пакет дистрибутива и upstream используют разные механизмы нумерации. AUR летом 2026 года публиковал пакет llpp 43-0, тогда как публичные теги исходного репозитория не образуют такую же последовательность до актуальной даты. При оценке свежести важнее дата и commit источника, из которого собран пакет, а не попытка сопоставить разные номера один к одному.
Вывод: в каких сценариях llpp имеет смысл
llpp рационален для Linux-пользователя, который воспринимает PDF как поток страниц и хочет управлять им так же быстро, как текстом в pager: клавиши вместо toolbar, F9 вместо постоянной ленты миниатюр, outline и history вместо мышиных переходов, HUP или remote вместо закрытия окна после новой сборки LaTeX. В таком сценарии минималистичный интерфейс — не недостаток сам по себе, а часть модели работы.
Для обычного чтения локальных PDF llpp также пригоден, но цена входа выше, чем у Okular: нужно освоить F1, режимы и отличия между состоянием viewer и изменением самого PDF. Если пользователю важнее видимые кнопки, печать, расширенная разметка или многостраничное выделение, переход к более традиционному viewer сэкономит усилия.
Для редактирования содержимого PDF llpp выбирать не стоит. Его аннотация полезна как компактное дополнение к просмотру, но не заменяет специализированный редактор. Для сканированных документов без текстового слоя нужен OCR-инструмент, а для командной конвертации и извлечения данных лучше использовать профильные утилиты. Сильная сторона llpp остаётся узкой и понятной: локальный, keyboard-first просмотр документов с несколькими уровнями навигации и хорошей встраиваемостью в Unix-процессы.





















