Текст в PDF не выделяется
Нажмите выделение всего документа. Ничего не подсветилось — текстового слоя в файле нет, перед вами картинки страниц, и никакая программа не найдёт в них слов. Подсветилось, но копируется мусор из непонятных символов — слой есть, а таблицы соответствия глифов символам в шрифте нет. Подсветилось ровными прямоугольниками поверх строк — слой в порядке, а мешает прозрачное изображение сверху.
Коротко о цифрах
- Как проверяется слой
- берутся первая, средняя и последняя страницы, считаются непустые фрагменты
- Пустые фрагменты
- не учитываются — иначе документ из картинок выглядел бы редактируемым
- Отличие сбоя от скана
- чтение упало на всех страницах — это ошибка разбора, а не отсутствие текста
- Причина мусора в буфере
- у шрифта нет карты соответствия глифов символам
- Чего мы не делаем
- не распознаём текст на изображениях
Три состояния файла и как их различить
- Слоя нет: выделение не подсвечивает ничего, поиск по документу не находит даже слова, которое вы видите глазами. Это скан или страница, сохранённая как изображение.
- Слой есть, но битый: выделение работает, а в буфер попадают посторонние символы. У шрифта не описано, какому символу соответствует нарисованный знак.
- Слой есть, но перекрыт: выделение попадает мимо букв или захватывает всю строку целиком. Поверх текста лежит прозрачная картинка или подложка.
- Текст переведён в кривые: выделения нет, но буквы выглядят идеально резкими при любом увеличении. Так делают в вёрстке, чтобы гарантировать вид на чужой машине.
Как проверяем наличие текста мы
Наши инструменты не гадают: перед работой берутся первая, средняя и последняя страницы, из каждой запрашивается текстовое содержимое, и считаются только непустые фрагменты. Пустые строки и служебные пометки в счёт не идут — иначе документ из одних картинок выглядел бы редактируемым и обманывал бы пользователя ещё до первого клика.
Отдельно различаются два исхода, которые легко перепутать. Ноль фрагментов при успешном чтении всех трёх страниц — это документ без текстового слоя. Ноль фрагментов из-за того, что чтение упало на каждой странице, — это уже сбой, и сообщать о нём как об отсутствии текста было бы неправдой: вам скажут именно про ошибку разбора.
Что делать в каждом из трёх случаев
- Убедитесь, что слоя действительно нет: попробуйте найти поиском слово, которое точно есть на странице.
- Если слой есть, извлеките текст в файл — так вы увидите, что именно в нём лежит, без вмешательства просмотрщика.
- Мусор при копировании означает проблему шрифта: попросите отправителя выгрузить PDF заново из исходной программы.
- Если перед вами скан, единственный путь — распознавание. У нас его нет, и текст в таком файле не появится.
- Когда нужен только вид, а не текст, работайте со страницами как с изображениями — это честнее, чем ждать выделения там, где выделять нечего.
Частые вопросы
Почему поиск не находит слово, которое я вижу на странице?
Потому что вы видите рисунок буквы, а не саму букву. В скане страница хранится как изображение, и в файле нет ни одного символа, по которому поиск мог бы что-то сопоставить.
Копируется набор непонятных знаков вместо русских слов. Это лечится?
На стороне читателя — нет. Соответствие между нарисованным знаком и символом задаётся при создании файла, и если его не записали, восстановить связь можно только заново выгрузив документ из исходной программы.
Извлечение текста работает, а редактор говорит, что править нечего. Почему?
Это две разные проверки. Извлечение забирает всё, что нашлось хотя бы на одной странице, а редактор требует достаточной плотности фрагментов на выборке страниц, иначе правка превратится в перетаскивание случайных обрывков.
Есть ли способ получить текст из скана на вашем сайте?
Нет. Распознавания у нас не реализовано, и обещать его мы не будем: инструмент извлечения вернёт пустой результат, потому что в файле действительно нет ни одного текстового фрагмента.