Поддерживаемые форматы
Матрица покрытия
| Формат | Текст | Таблицы | Колонтитулы | Комментарии | Track changes | Встроенные изображения | Примечания |
|---|---|---|---|---|---|---|---|
.docx | ✅ | ✅ | ✅ | ⚠️ удаляются целиком, не маскируются | ⚠️ удаляются целиком | ❌ (подписи проходят как есть) | Стили, списки, таблицы сохраняются |
.pdf (текстовый слой) | ✅ | ✅ (если извлекаемые) | ✅ | n/a | n/a | ⚠️ не проверяются OCR | Используется PyMuPDF redaction annotations |
.pdf (сканированный или гибридный) | ✅ при наличии локального OCR | ⚠️ зависит от верстки | ✅ как OCR-текст | n/a | n/a | ✅ для сканированных страниц | Нужен Tesseract с языками eng + rus |
.xlsx | ✅ | ✅ (ячейки) | ❌ (в xlsx нет колонтитулов) | ⚠️ удаляются | n/a | ❌ | Формулы сохраняются, значения маскируются |
.txt / .md / .csv | ✅ (построчно) | ⚠️ как обычный текст | n/a | n/a | n/a | n/a | Исходная кодировка и переводы строк сохраняются |
.html / .htm | ✅ (текст блочных элементов) | ✅ (текст td) | n/a | ⚠️ предупреждение, не изменяются | n/a | ❌ | Атрибуты mailto:/tel:/alt/title тоже маскируются |
.rtf | ✅ (текст абзацев) | ⚠️ сплющиваются в абзацы | n/a | n/a | n/a | ❌ удаляются с предупреждением | Только вход — на выходе новый .docx |
Легенда:
- ✅ — детектируется и маскируется на месте
- ⚠️ — содержимое полностью удаляется из вывода (не маскируется на месте, потому что окружающая структура невидима пользователю)
- ❌ — не обрабатывается, пользователю выводится предупреждение
Сканированные и гибридные PDF обрабатываются локально через Tesseract OCR. Скачанный PDF сохраняет исходные страницы и накладывает редактуры/токены в местах, где OCR нашёл текст; полный сырой OCR-текстовый слой в файл не добавляется. Если Tesseract или английский/русский языковые пакеты не установлены, обработка сканированных страниц отклоняется с инструкцией по установке, а не пропускается молча.
Обычный текст (.txt, .md, .csv)
Текстовые файлы обезличиваются построчно. Markdown-разметка и CSV-колонки
обрабатываются как обычный текст — без структурного парсинга, замены остаются
в пределах своих строк. UTF-8 и UTF-8-BOM сохраняются на выходе как есть;
cp1251 тоже сохраняется, но добавляет информационное предупреждение
TEXT_ENCODING_LEGACY. Бинарное содержимое или неподдерживаемая кодировка
отклоняются. Текстовый файл, содержимое которого легитимно начинается с
%PDF, всё равно обрабатывается как текст; бинарное содержимое под текстовым
расширением уходит в определение формата по magic-байтам.
HTML (.html, .htm)
Обезличивается текст блочных элементов (p, li, td, заголовки, div, …),
включая текст, пересекающий инлайн-теги. Также маскируются атрибуты href с
целями mailto:/tel: и атрибуты alt/title. То, что движок не может
безопасно переписать, остаётся без изменений и помечается предупреждением:
содержимое <script>, HTML-комментарии и отдельные <meta>-теги (author,
description, og:*) — предупреждение становится небезопасным, если
содержимое похоже на PII. Скрытый текст (display:none / hidden)
обезличивается и добавляет информационное предупреждение.
RTF (.rtf)
RTF — только на вход: текст абзацев извлекается через striprtf,
обезличивается и записывается в новый .docx — RTF-writer’а нет, исходное
форматирование не сохраняется (информационное предупреждение
RTF_CONVERTED_TO_DOCX). Встроенные объекты и картинки удаляются при
конвертации и дают рискованное предупреждение RTF_OBJECT_DROPPED.
Что значит «предупреждение»
Если в файле есть неподдерживаемые особенности — UI показывает три уровня предупреждений:
- Информационное — «В документе есть комментарии. Они будут полностью удалены из вывода.» Обычное, ожидаемое, безопасно игнорировать.
- Рискованное, но допускается — «В документе есть гиперссылки; их текст маскируется, но URL-цели не анализируются.»
- Небезопасное — скачивание заблокировано — «В документе есть вложения. Мы не можем гарантировать, что они очищены от PII. Скачивание заблокировано.» В таком случае придётся извлечь и обработать вложение вручную.
- OCR-предупреждения — низкая уверенность распознавания или непроверенные встроенные изображения означают, что результат нужно визуально проверить, особенно для некачественных сканов.
Дорожная карта
- Запланировано: PDF, защищённые паролем
- Запланировано: Изображения в
.docx/.xlsx(подписи, логотипы с PII) - Будущий OCR-экспорт: скачать распознанный документ как редактируемый
.docx - MVP-2: Дополнительные языковые пакеты