решение из ленты заказов

Интерактивное содержание для томов проектной документации

ГОСТ Р 21.101, п. 4.1.5: в электронном томе строки содержания с номерами листов должны быть ссылками. Программа находит лист «Содержание», читает номера листов и ставит на каждую строку кликабельную ссылку на нужную страницу, плюс закладки в боковой панели PDF. Текст, штампы и чертежи не трогаются. Тома из AutoCAD/nanoCAD с ГОСТ-шрифтами (текст копируется иероглифами) — названия берутся из вашего содержания или распознаются. 42 тома — одна команда и отчёт по каждому.

Попробуйте на своём томе

Перетащите PDF-том сюда или

Файл никуда не отправляется: разбор и запись ссылок идут прямо в браузере.

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

Распознавание (tesseract.js) подгружается с CDN по кнопке и работает в браузере; результат появляется в поле для правки, файл никуда не уходит. Строки сопоставляются с PDF по номеру листа, затем по порядку.

Выберите PDF или возьмите образец.

Образец: до и после

Том-образец 5.1 «Система электроснабжения» (14 листов, объект и шифр выдуманы): без ссылок → со ссылками и закладками. Второй образец начинается с обложки без номера — программа сама видит сдвиг на 1: без ссылок → со ссылками. Третий — «как из CAD»: на экране русский текст, а копируется иероглифами: без ссылок → со ссылками, названия закладок из таблицы (таблица). Закладки во всех файлах записаны в UTF-16BE — кириллица читается в Acrobat, Foxit и Chrome.

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

  1. Ищет в первых страницах лист с заголовком «Содержание» (и его продолжения); если заголовок нечитаем — лист с пятью и более строками, кончающимися возрастающими номерами.
  2. Строка таблицы, которая кончается номером листа, — это запись; строки основной надписи (Изм., Лист, Листов, Стадия) пропускаются, перенос длинного названия приклеивается к своей записи.
  3. Проверяет, читаем ли текст: буквы ≥ 80 % знаков, строки из русских слов (доля гласных и частые сочетания букв), есть типовые слова содержания. Если нет — так бывает у выгрузок из CAD с ГОСТ-шрифтами — названия берутся из вашей таблицы (вставленное содержание, CSV из Excel/Word, распознанный лист), а без неё закладки подписываются «Лист N».
  4. Сдвиг «лист → страница PDF» угадывается сам: по тому, на какой странице стоит название из строки. Обложка без номера, вклейка — видно в отчёте, можно задать руками.
  5. На каждую строку ставится ссылка (в том числе на пояснительную записку — на страницу или в отдельный файл, если он указан в таблице), в боковую панель — закладки двух уровней. Названия закладок пишутся в UTF-16BE, поэтому кириллица читается в любом просмотрщике.
  6. Пачка: 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 минут плюс выборочная проверка ссылок глазами.

Обсудить задачу