Извлекайте текст из любого PDF,
в вашем браузере.
Вытащите чистый текстовый слой из любого PDF — абзацы сохраняются, любое количество страниц, UTF-8. Извлечение выполняется в вашем браузере, поэтому файл никогда не покидает устройство.
Убедитесь сами: откройте DevTools → вкладку Network → перетащите файл. Никаких загрузок на сервер не произойдёт.
Три шага. Ваш PDF не покидает эту вкладку.
Перетащите PDF
Выберите файл, из которого нужно извлечь текст. Он загружается в память браузера, а не на сервер.
Мы читаем текстовый слой
pdf.js обходит каждую страницу, сортирует элементы по Y-координате и восстанавливает разрывы абзацев в нужных местах.
Копируйте или скачайте .txt
Получите чистый UTF-8 plain text. Скопируйте в буфер обмена или сохраните как .txt — на ваше усмотрение.
Когда нужен текст, а не PDF
Причины извлекать текст из PDF почти всегда сводятся к одному: нужно перенести слова туда, куда PDF не пускает. Хочется вставить цитату в письмо, не таская PDF вложением. Вы скармливаете длинный документ AI-ассистенту, который принимает только plain text. Хотите grep'нуть 200-страничный отчёт по одной фразе, а поиск во вьюере что-то прячет. Переводите контракт, и переводческий инструмент хочет источник как плоский файл. Переносите готовую вёрстку из PDF назад в редактор. Во всех случаях мешает обёртка — слова в порядке, просто сидят в вёрстке, которую трудно собрать обратно.
На выходе здесь именно это: plain text, один большой .txt, в том же порядке, в котором читается PDF. Без форматирования, шрифтов, картинок и таблиц-как-таблиц. Задача — освободить слова.
Что на самом деле делает «извлечение»
В PDF сидят два вида «текста». Настоящий текст — символы, нарисованные шрифтами, которые PDF помечает как буквы — лежит в текстовом слое. Этот слой инструмент читает напрямую. Второй вид — текст, существующий только как пиксели: всё, что было отсканировано, сфотографировано или скриншотнуто перед попаданием в PDF. Эти символы — картинки букв, а не буквы, и ни один экстрактор не увидит их как текст без OCR. OCR-шага здесь нет.
Два быстрых теста скажут, какой у вас PDF. Откройте его в любой читалке, щёлкните и протяните мышью по абзацу: если текст красиво выделяется — текстовый слой есть, и извлечение сработает. Если курсор рисует прямоугольник, и ничего не выделяется — страница картинка, и сначала нужно прогнать через OCR (в другом инструменте), чтобы извлекателю было что читать.
Как получаются переводы строк и абзацы
В PDF не хранятся абзацы. Внутри страница — это мешок текстовых фрагментов с позициями, и нигде нет метаданных «здесь конец абзаца». Внятный plain text без переводов не существует, поэтому инструмент выводит их из вертикальных промежутков: маленький промежуток между строками превращается в одинарный перевод, большой промежуток (какой обычно ставят между абзацами) — в пустую строку. Обычные случаи работают: тело текста, заголовки, списки. Если дизайнер использовал необычные интервалы для своих задач, инструмент не угадает, и такие места могут потребовать лёгкой правки после.
Страницы разделены пустой строкой. Если вообще не нужны разделители страниц — find-and-replace, замените двойной перевод на одинарный.
Что не переживёт извлечение
- Жирный, курсив, шрифты, цвет, выравнивание. Plain text плосок. Если нужно форматирование — pdf-to-word.
- Таблицы. Ячейки становятся plain text в порядке чтения — обычно строка за строкой, часто с неудобными пробелами. Если таблицы должны остаться таблицами — pdf-to-excel.
- Картинки и диаграммы. То, что в PDF не было текстом, в текст не попадает. Чтобы вынуть картинки отдельно — pdf-to-jpg.
- Колонтитулы. Если в оригинале на каждой странице повторялось «Конфиденциально — стр. X из Y», в извлечённом тексте будет то же. Find-and-replace убирает за секунды.
- Слова, перенесённые с дефисом через перенос строки. Слово, разорванное переносом, выйдет как
что-\nто, а нечто-то. Если важно для последующего поиска или орфографии — регулярка-\n→ пусто чинит. - Многоколоночная вёрстка может перемешаться. В двухколоночной научной статье предложения из левой и правой колонок могут чередоваться. Одноколоночные документы — большинство отчётов, контрактов, книг — этого не касается. Если перемешанный результат непригоден, чище открыть PDF в инструменте, который уважает порядок колонок, до повторного извлечения.
Несколько практических заметок
- Если PDF под паролем, сначала через unlock-pdf. Зашифрованный PDF нельзя открыть для извлечения текста.
- Для очень больших PDF (сотни МБ, тысячи страниц) извлечение всё равно идёт в браузере. На десктопе это редко проблема; на телефоне с 500-страничным сканом упирается в память. В этом случае — на десктоп.
- Вывод в UTF-8. Кириллица, греческий, арабский, китайский, латиница с диакритикой переживают всё, если в PDF они хранились как настоящий текст. PDF, в которых не-латинские символы рисовались как embedded subset glyphs без правильной кодировки, при извлечении дают мусор — это проблема самого PDF, а не экстрактора. Лечится на стороне источника — пере-экспортом с правильной Unicode-кодировкой.
- Имя файла. Файл
contract.pdfкачается какcontract.txt. PDF на диске остаётся на месте.
Что происходит с вашим файлом
Извлечение идёт в вашем браузере. Откройте DevTools и проследите вкладку Network во время операции — исходящих запросов с содержимым файла нет. PDF остаётся на диске; .txt — новая загрузка рядом.
Частые вопросы
Как работает извлечение?
Мы используем pdf.js от Mozilla, чтобы постранично читать встроенный текстовый слой вашего PDF. Элементы группируются по Y-координате, поэтому разрывы абзацев сохраняются — без сервера, без загрузки.
Работает ли это со сканированными PDF?
Нет. Сканы — это изображения текста, а не сам текст; их извлечение требует OCR, которое этот инструмент не выполняет. Если ваш PDF получен из отсканированной бумаги, сначала используйте инструмент OCR.
Загружается ли мой файл куда-то?
Никогда. Извлечение целиком выполняется в вашем браузере через WebAssembly — это можно проверить в DevTools → Network. Файл остаётся на вашем устройстве.
А что насчёт PDF, защищённых паролем?
Сначала снимите защиту через наш инструмент Разблокировать PDF, затем извлекайте текст. Зашифрованные потоки контента нельзя разобрать без пароля.
Какой лимит размера файла?
До 100 МБ. Большие файлы могут исчерпать память браузера — попробуйте сначала разделить их инструментом Разделить PDF.