Попробуйте на своём томе
Перетащите PDF-том сюда или
Файл никуда не отправляется: разбор и запись ссылок идут прямо в браузере.
Таблица содержания — если текст в PDF нечитаем (шрифты CAD): вставьте, загрузите CSV или распознайте
Распознавание (tesseract.js) подгружается с CDN по кнопке и работает в браузере; результат появляется в поле для правки, файл никуда не уходит. Строки сопоставляются с PDF по номеру листа, затем по порядку.
Лист «Содержание» — ссылки подсвечены
Нажмите на подсвеченную строку — справа откроется страница, куда ведёт ссылка.
Куда ведёт ссылка
| Строка содержания (закладка) | Лист | Страница PDF | Название взято |
|---|
Образец: до и после
Том-образец 5.1 «Система электроснабжения» (14 листов, объект и шифр выдуманы): без ссылок → со ссылками и закладками. Второй образец начинается с обложки без номера — программа сама видит сдвиг на 1: без ссылок → со ссылками. Третий — «как из CAD»: на экране русский текст, а копируется иероглифами: без ссылок → со ссылками, названия закладок из таблицы (таблица). Закладки во всех файлах записаны в UTF-16BE — кириллица читается в Acrobat, Foxit и Chrome.
Как это работает
- Ищет в первых страницах лист с заголовком «Содержание» (и его продолжения); если заголовок нечитаем — лист с пятью и более строками, кончающимися возрастающими номерами.
- Строка таблицы, которая кончается номером листа, — это запись; строки основной надписи (Изм., Лист, Листов, Стадия) пропускаются, перенос длинного названия приклеивается к своей записи.
- Проверяет, читаем ли текст: буквы ≥ 80 % знаков, строки из русских слов (доля гласных и частые сочетания букв), есть типовые слова содержания. Если нет — так бывает у выгрузок из CAD с ГОСТ-шрифтами — названия берутся из вашей таблицы (вставленное содержание, CSV из Excel/Word, распознанный лист), а без неё закладки подписываются «Лист N».
- Сдвиг «лист → страница PDF» угадывается сам: по тому, на какой странице стоит название из строки. Обложка без номера, вклейка — видно в отчёте, можно задать руками.
- На каждую строку ставится ссылка (в том числе на пояснительную записку — на страницу или в отдельный файл, если он указан в таблице), в боковую панель — закладки двух уровней. Названия закладок пишутся в UTF-16BE, поэтому кириллица читается в любом просмотрщике.
- Пачка:
python pdf_soderzhanie.py папка_томов\ --out готово\ --names содержание.txt— все тома иотчёт.csv: сколько строк, сколько ссылок, откуда названия, где замечания.
Ядро: pdf_soderzhanie.py (Python, PyMuPDF) и toc-core.js (браузер)
скачать pdf_soderzhanie.py · toc-core.js — тесты: каждая ссылка ведёт на страницу со своим названием, штамп не превращается в ссылку, сдвиг от обложки угадан, текст тома не изменился, нечитаемый CAD-текст распознан как нечитаемый и заменён таблицей, браузерное ядро даёт те же ссылки и закладки, что Python.
Ваши тома — в тот же день
Пришлите 1–2 тома и содержание в любом виде — покажем результат за день, затем прогоняем все тома, по каждому — отчёт и выборочная проверка ссылок глазами. Сканы без текстового слоя, картинки вместо текста, свои формы — скажем сразу, до оплаты.
Цена: первый том показываем за день — от 3 000 ₽. Комплект томов одним прогоном — от 5 000 ₽: так посчитан заказ на 42 тома — 3 дня после получения файлов, сам прогон 15–30 минут плюс выборочная проверка ссылок глазами.
Обсудить задачу