← Все инструменты
✂️

Разделить PDF на страницы — Разрезать PDF онлайн бесплатно

Разделите многостраничный PDF файл на отдельные листы или извлеките выбранный диапазон страниц. Безопасная обработка без серверов.

+Загрузить PDF или фотоили перетащите файлы сюда🚀 Запустить инструмент бесплатно

Как это работает

01

Загрузите PDF

Откройте многостраничный PDF-документ в браузере без загрузки на сервер.

02

Выберите страницы или диапазон

Укажите конкретные страницы или диапазон для извлечения.

03

Скачайте результат

Отдельные страницы или части экспортируются как новые PDF-файлы.

Почему pdfredX

🔒

Полная конфиденциальность

Файлы не покидают ваш браузер. Никакой загрузки на сторонние серверы.

Обработка на стороне клиента

Все вычисления выполняются локально — быстро, безопасно и бесплатно.

🆓

Без регистрации

Просто откройте браузер и приступайте. Никаких аккаунтов не нужно.

📱

На любом устройстве

Работает на ПК, планшете и смартфоне без установки.

Полезные материалы по теме

Как разделить PDF на отдельные страницы или части онлайн: визуальная разрезка ножницами
Многостраничный скан нужно разложить по одному листу, из общего отчёта — вырезать пару разделов, объёмный договор — разбить на приложения. Инструмент «Разделить» в pdfredX режет документ прямо в галерее: между страницами появляются ножницы, вы ставите разрезы там, где нужно, и скачиваете каждую часть отдельным PDF. Всё в браузере, ничего не загружается на сервер.

Многостраничный скан нужно разложить по одному листу, из общего отчёта — вырезать пару разделов, объёмный договор — разбить на приложения. Инструмент «Разделить» в pdfredX режет документ прямо в галерее: между страницами появляются ножницы, вы ставите разрезы там, где нужно, и скачиваете каждую часть отдельным PDF. Всё в браузере, ничего не загружается на сервер.


Шаг 01. Загрузить PDF

Откройте pdfredx.com и перетащите многостраничный PDF в зону загрузки — или выберите его через проводник. PDF.js рендерит страницы во вкладке, каждая становится карточкой в галерее. Ни один байт не уходит на удалённую машину.


Шаг 02. Расставить разрезы

Включите режим «Разделить» — между соседними карточками появятся слоты с иконкой ✂️. Клик по слоту ставит разделитель: документ в этом месте разрежется на две части. Разрезов можно поставить сколько угодно — так задаётся любое число частей.

  • Разбить на отдельные страницы — поставьте разрез после каждой карточки: каждая часть станет одностраничным файлом.
  • Вырезать раздел — поставьте два разреза, по краям нужного диапазона; средняя часть и есть ваш фрагмент.
  • Убрать лишний разрез — нажмите ✕ на разделителе, части снова объединятся.

Разрезы виртуальные: они не трогают исходные страницы, а лишь показывают, как документ будет поделён. Ошиблись — уберите разделитель, ничего не потеряется.


Шаг 03. Скачать части

Внизу открывается панель со списком частей. Для каждой видно диапазон страниц и их количество, а рядом — поле имени файла (по умолчанию split_part_1, split_part_2, …) и кнопка «⬇ Скачать». Задайте понятные имена и скачайте нужные части по одной — или нажмите «Скачать все» и получите все части подряд. Готовые PDF сохраняются прямо из браузера. Бесплатно, без регистрации, без серверной очереди.


Как это работает технически

Разделение не пересобирает документ на диске — оно работает над массивом страниц items[], который приложение построило при загрузке. Разделители хранятся как набор позиций splitGalleryDividers; функция buildSgParts() нарезает по ним непрерывные диапазоны:

for (const cut of cuts) {          // cuts — отсортированные позиции разрезов
  parts.push({ from: start, to: cut, indices: sgRange(start, cut) });
  start = cut + 1;
}

При скачивании части downloadSgPart() собирает новый файл через jsPDF: берёт только страницы своего диапазона, каждую вписывает в лист A4 с сохранением пропорций (contain) и центрирует. Исходный документ при этом не меняется — можно менять разрезы и качать части в любом порядке.


Известные ограничения

Результат растровый. Страницы вставляются в части как изображения. В полученных PDF текст нельзя выделить и скопировать — он часть картинки. Гиперссылки, закладки и поля форм исходника в части не переносятся.

Разрез только между страницами. Инструмент делит документ по границам страниц (одна страница целиком уходит в ту или иную часть). Разрезать саму страницу пополам — это другая задача, для разворотов есть отдельный инструмент.

Порядок частей — по документу. Части идут в том же порядке, что и страницы. Если нужно сначала переставить листы, сделайте это в галерее до разделения.


Нужно наоборот — собрать несколько файлов в один? Это инструмент Объединить PDF. А для разрезания книжных разворотов пополам — Разделить разворот.

Попробуйте прямо сейчас — pdfredx.com, без регистрации, файлы остаются у вас.

Как вырезать нужные страницы из PDF, не загружая весь документ на сервер
Из договора на 30 листов нужно отправить бухгалтеру одну страницу. Из пакета сканов — переслать только справку, не показывая остальное. Из выписки — оставить один разворот. У всех этих задач общий смысл: **поделиться частью, а не всем**. И тут обычный онлайн-сервис для разделения PDF предлагает ровно противоположное — загрузить на сервер **весь** документ целиком, чтобы вырезать из него пару страниц. Разберём, почему это противоречит самой цели и как сделать иначе.

Из договора на 30 листов нужно отправить бухгалтеру одну страницу. Из пакета сканов — переслать только справку, не показывая остальное. Из выписки — оставить один разворот. У всех этих задач общий смысл: поделиться частью, а не всем. И тут обычный онлайн-сервис для разделения PDF предлагает ровно противоположное — загрузить на сервер весь документ целиком, чтобы вырезать из него пару страниц. Разберём, почему это противоречит самой цели и как сделать иначе.


Парадокс серверного разделения

Вы режете PDF именно потому, что не хотите показывать документ полностью. А чтобы «извлечь страницу 7», обычный сервис просит отправить ему все 30 листов. То есть ради изоляции одной страницы вы раскрываете постороннему сервису весь остальной договор — те самые данные, которые собирались оставить при себе.

Дальше загруженный файл живёт по политике сервиса, которую мало кто читает:

  • документ сохраняется во временном хранилище подрядчика (AWS, GCP, Azure);
  • обрабатывается на чужом сервере;
  • хранится от нескольких часов до нескольких суток «для надёжности»;
  • логируется вместе с метаданными — IP, время, имя и размер файла.

Для конфиденциальных подборок — договоров, кадровых пакетов, медицинских или банковских сканов — это ровно тот риск, который вы пытались обойти, когда решили отправить не весь документ, а одну страницу.


Локальное разделение: документ не покидает вкладку

pdfredX режет PDF, не загружая его никуда. Это следствие архитектуры, которое можно проверить.

Файл читается локально. PDF.js открывает документ во вкладке и рисует страницы на Canvas. Сетевого запроса с вашим файлом нет.

Разрезы и сборка идут в памяти вкладки. Вы визуально ставите разделители между страницами, а нужные части собираются в новые PDF через jsPDF — всё это операции над уже загруженными данными. Ничего не отправляется.

Вы скачиваете только то, что выбрали. Хотите одну страницу — соберётся и скачается файл из одной страницы. Остальные листы никуда не уходят: они так и остаются картинками в памяти вкладки и исчезают, когда вы её закрываете.

Работает офлайн. Загрузите документ, отключите интернет и вырежьте нужные страницы — всё продолжит работать. Сеть нужна только чтобы один раз загрузить приложение.

Практично: включите режим «Разделить», поставьте разрезы по краям нужного фрагмента, задайте файлу понятное имя и скачайте только эту часть. Всё остальное остаётся у вас.


Что мы гарантировать не можем — честный дисклеймер

Клиентская обработка защищает документ от ухода на внешние серверы, но это не щит от всех угроз, и обещать обратное было бы нечестно.

Вредоносное ПО или кейлоггер на устройстве. Если машина скомпрометирована, программа может читать файлы с диска в обход браузера.

Браузерные расширения с широкими правами. Расширение с доступом «читать данные на всех сайтах» теоретически видит содержимое вкладки. Для чувствительных документов работайте в профиле без сторонних расширений или в приватном окне.

Сохранённые части остаются на вашем диске. Если устройство не защищено шифрованием, файлы могут быть прочитаны третьими лицами при физическом доступе.

Мы обеспечиваем изоляцию на уровне браузерной вкладки. Остальное — на стороне пользователя.


Вырежьте нужные страницы без загрузки всего документа на сервер — pdfredx.com, бесплатно, без регистрации.

Как устроено разделение PDF в браузере: виртуальные разделители над items[] и экспорт частей через jsPDF
Разделить PDF на сервере можно «по учебнику»: распарсить структуру, вытащить нужные объекты страниц на уровне бинарного графа (`Objects` и `Streams`), собрать из них новые контейнеры без перерендеринга — с сохранением текста и гиперссылок. В браузере, без бэкенда и без отправки файла, набор ограничений другой, и архитектурный выбор не очевиден. Разберём, как устроен инструмент `split` в pdfredX: почему разделение работает над растровым массивом страниц, как разрезы остаются неразрушающими и где проходят границы подхода.

Разделить PDF на сервере можно «по учебнику»: распарсить структуру, вытащить нужные объекты страниц на уровне бинарного графа (Objects и Streams), собрать из них новые контейнеры без перерендеринга — с сохранением текста и гиперссылок. В браузере, без бэкенда и без отправки файла, набор ограничений другой, и архитектурный выбор не очевиден. Разберём, как устроен инструмент split в pdfredX: почему разделение работает над растровым массивом страниц, как разрезы остаются неразрушающими и где проходят границы подхода.


Архитектурный вызов: парсинг структуры против растрового пайплайна

Как режут PDF «по учебнику». Библиотеки вроде pdf-lib умеют извлекать страницы на уровне структуры: находят объекты страниц в дереве, копируют их вместе с ресурсами (шрифты, изображения, аннотации) в новый документ, не растеризуя. Так сохраняются текстовый слой и гиперссылки. Плата — сложность: нужен полноценный парсер PDF и аккуратная работа с бинарным графом, а на файлах с нестандартными метаданными или повреждённым xref стабильность падает.

Почему pdfredX идёт растровым путём. Инструмент встроен в общий пайплайн приложения, где страница любого документа уже приведена к изображению: PDF.js отрисовал её в Canvas при загрузке и положил в массив items[]. Поэтому разделение не парсит структуру заново — оно оперирует готовыми растрами. Плюсы — предсказуемость (если PDF.js показал страницу, её можно вынести в часть) и приватность (нарезка и сборка идут во вкладке, файл никуда не уходит). Плата — результат растровый: текстовый слой и гиперссылки в частях не сохраняются. Для типового сценария (разложить сканы, вырезать раздел) это оправданный компромисс.


Разбор реализации

Разрезы как множество позиций

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

function toggleSgCut(afterIdx) {
  if (splitGalleryDividers.has(afterIdx)) splitGalleryDividers.delete(afterIdx);
  else                                    splitGalleryDividers.add(afterIdx);
  render(); renderSgPanel();
}

Это ключевое решение: разрез не режет данные, а лишь отмечает границу. Исходный items[] не мутируется, поэтому разрезы полностью обратимы — снял разделитель, части снова слились. Никаких промежуточных копий страниц в памяти.

Нарезка на непрерывные части

Из отсортированного набора позиций buildSgParts() собирает непрерывные диапазоны страниц:

const cuts = Array.from(splitGalleryDividers).sort((a, b) => a - b);
let start = 0;
for (const cut of cuts) {
  const end = Math.min(cut, items.length - 1);
  parts.push({ from: start, to: end, indices: sgRange(start, end) }); // диапазон индексов
  start = cut + 1;
}
if (start <= items.length - 1) parts.push({ from: start, to: items.length - 1, ... }); // «хвост»

Каждая часть — это описание диапазона (from, to) и список индексов страниц. Ничего не копируется, пока пользователь не нажмёт «Скачать»: панель просто показывает, какие страницы попадут в какой файл.

Сборка части: jsPDF по индексам

Только при скачивании downloadSgPart() материализует часть в настоящий PDF — тем же способом, что объединение и сжатие: берёт страницы своего диапазона, каждую вписывает в лист A4 с сохранением пропорций (contain) и центрирует.

for (let i = 0; i < part.indices.length; i++) {
  const p = items[part.indices[i]];
  const dim = await imgDims(p.editUrl);
  if (i > 0) pdf.addPage('a4', dim.w > dim.h ? 'landscape' : 'portrait');
  // ...contain + центрирование...
  const fmt = p.editUrl.startsWith('data:image/png') ? 'PNG' : 'JPEG';
  pdf.addImage(p.editUrl, fmt, x, y, dw, dh, '', 'FAST');
}
pdf.save(fileName); // имя из поля ввода части

Каждая часть получает своё имя из поля ввода; «Скачать все» просто вызывает downloadSgPart() по очереди с паузой tick(600) между файлами, чтобы браузер успевал отдавать загрузки.


Компромиссы и границы подхода

Текст и гиперссылки не сохраняются. Это прямое следствие растрового пути: страница в части — изображение. Там, где критичен живой текст (юридические документы для дальнейшего редактирования), структурное извлечение было бы точнее.

Деление только по границам страниц. Разрез ставится между карточками; разрезать саму страницу пополам — задача другого инструмента (разворотов).

Память на больших документах. Все страницы живут в items[] как декодированные изображения (лист A4 при 150 DPI — ~8,7 МБ RGBA). На сотнях страниц это ощутимо, но само разделение лёгкое: разрезы — это множество чисел, а материализуется в память только скачиваемая часть.


Что дальше

Опциональное структурное извлечение для чисто цифровых PDF — отдельная ветка через парсинг объектов, чтобы сохранять текст и ссылки, когда исходник это позволяет.

Экспорт частей в ZIP — упаковывать все части одним архивом вместо последовательных скачиваний, удобнее при большом числе частей.


Хотите проверить на своём документе — загрузите многостраничный PDF на pdfredx.com, расставьте разрезы и скачайте части. Без регистрации, без загрузки файла на сервер.

🚀 Запустить инструмент бесплатно