Страницы PDF
Извлечение и переупорядочивание страниц PDF: drag&drop миниатюр, чётные/нечётные/обратный порядок, сборка нового файла.
Выдёргивает выбранные страницы PDF в новый файл и переупорядочивает их перетаскиванием миниатюр. После загрузки документа отрисовываются миниатюры всех страниц через pdf.js (Mozilla, Apache-2.0; вендор уже задеплоен ради pdf-to-image и pdf-redact, новый не нужен). Каждая миниатюра кликается toggle-ом «оставить/пропустить», блочные кнопки «Все», «Никого», «Обратный порядок», «Только чётные», «Только нечётные» закрывают типовые сценарии (выдрать главу 3 из отчёта; собрать дайджест из чётных страниц брошюры; восстановить порядок после неправильного скана). Drag-and-drop позволяет вручную поставить страницу в произвольное место. На выходе — новый PDF, где каждая выбранная страница отрендерена в JPEG (масштаб ×2, качество 0.85) и встроена как Image XObject с фильтром DCTDecode. Это сознательный компромисс v1: lossless reorder требует полного парсера PDF с поддержкой XRef stream и сжатых Object Streams (отдельный проект на сотни строк); raster-версия закрывает кейсы «выдернуть страницы из скана / презентации / отчёта» сразу и без отправки файла на сервер. Цена компромисса честно сообщается на странице: текст в результате перестаёт быть selectable и searchable. Работает с любым PDF, включая зашифрованные паролем и с нестандартным XRef. Обработка идёт в браузере, файл никуда не передаётся.