Сканы легли в неправильном порядке, приложения к договору перепутаны, титульный лист оказался в середине. Переставлять страницы в PDF-редакторе вслепую по номерам — мучение. Инструмент «Переставить» в pdfredX показывает все страницы миниатюрами и даёт двигать их мышью или пальцем: перетащили карточку — порядок изменился. Всё в браузере, ничего не загружается на сервер.
Шаг 01. Загрузить PDF
Откройте pdfredx.com и перетащите PDF в зону загрузки — или выберите его через проводник. PDF.js рендерит каждую страницу в миниатюру, и документ раскладывается в галерею карточек. Ни один байт не уходит на удалённую машину.
Шаг 02. Перетащить страницы
Возьмите карточку и потяните — под курсором появится полупрозрачная копия (ghost), а на месте останется бледный след. Наведите на страницу, перед которой хотите поставить перетаскиваемую, и отпустите: порядок мгновенно перестроится, соседние карточки сдвинутся.
- Двигать мышью или пальцем — работает одинаково на компьютере и на телефоне.
- Короткий порог срабатывания (~9 px) — отличает перетаскивание от случайного касания, поэтому на тач-экране галерея не «прыгает» при скролле.
- Убрать лишний лист — кнопка 🗑 на карточке удаляет страницу; остальные сохраняют порядок.
Никаких номеров вводить не нужно — вы видите сами страницы и раскладываете их как физические листы на столе.
Шаг 03. Сохранить результат
Когда порядок вас устраивает, нажмите «Создать PDF». Приложение проходит по галерее в текущем порядке карточек и собирает единый файл через jsPDF — новый порядок страниц попадает прямо в экспортируемый документ. Готовый PDF скачивается напрямую из браузера. Бесплатно, без регистрации, без серверной очереди.
Как это работает технически
Перестановка идёт над массивом страниц items[], который приложение построило при загрузке. Порядок карточек в галерее — это и есть порядок элементов массива. Перетаскивание реализовано на Pointer Events (единый код для мыши и тача): при отпускании приложение находит карточку под курсором и переставляет элемент в массиве:
const [item] = items.splice(fromIdx, 1); // вынули страницу с исходной позиции
items.splice(toIdx, 0, item); // вставили перед целевой
render(); // перерисовали галереюСами миниатюры при этом не рендерятся заново — меняется только позиция элемента. Порядок применяется к финальному документу только на шаге «Создать PDF», так что двигать карточки можно сколько угодно без пересборки файла.
Известные ограничения
Порядок задаётся по границам страниц. Инструмент переставляет целые листы. Переместить фрагмент внутри страницы или разрезать её — это другие задачи (для разворотов есть отдельный инструмент).
Результат экспорта растровый. При сборке страницы вставляются как изображения, поэтому текст в итоговом файле нельзя выделить, а гиперссылки и закладки исходника не переносятся. Сама перестановка на это не влияет — это особенность экспорта.
Память на больших документах. Все страницы живут в галерее как миниатюры; на сотнях страниц прокрутка на слабых устройствах может подтормаживать.
Нужно собрать несколько файлов в один перед сортировкой? Это инструмент Объединить PDF. А чтобы разрезать документ на части — Разделить PDF.
Попробуйте прямо сейчас — pdfredx.com, без регистрации, файлы остаются у вас.
