Что это
Библиотеки Python для PDF. pdfplumber аккуратно вытаскивает текст и таблицы, PyMuPDF ещё и меняет страницу: стирает и дорисовывает блоки, не трогая остальное.
Как используем
pdfplumber читает PDF-выписки четырёх банков в финансовом ассистенте. PyMuPDF наносит контакты аварийного комиссара на электронный полис ОСАГО: номер бланка, данные и QR-код остаются нетронутыми, а файл вырастает с 380 до 520 КБ, а не до 6,5 МБ.
Где это нужно бизнесу
- Сотрудники вручную переносят цифры из PDF: выписки, счета, акты.
- На готовый PDF нужно нанести свои контакты или штамп, не испортив документ.
Как мы это используем
- Чтение выписок. В финансовом ассистенте pdfplumber читает PDF-выписки ВТБ, Сбербанка, Т-Банка и Озон Банка; банк, счёт и карта определяются по самому файлу.
- Правка полиса. В боте для полисов ОСАГО PyMuPDF разбирает страницу — текстовые блоки, картинки, QR-код — и наносит карточку аварийного комиссара, не заходя в защищённые зоны: номер бланка, данные страхователя, VIN, QR-код, подпись.
Типичные проблемы
- Банк поменял вёрстку выписки. Разбор привязан к текущему виду PDF; когда банк его меняет, суммы перестают сходиться с итогами, и разборщик нужно чинить.
- Файл раздувается. Стирание текста по умолчанию перерисовывало и картинки, и полис вырастал с 380 КБ до 6,5 МБ. Теперь стирается только текст, шрифты урезаются до нужных символов: на выходе около 520 КБ.
- Подпись страховщика. После изменения файла встроенная электронная подпись не проходит проверку; подлинность подтверждается по QR-коду и на сайте РСА, и бот предупреждает об этом.
Когда это не нужно
Если банк или сервис отдаёт данные в CSV, XLSX или через API, разбирать PDF не нужно: в финансовом ассистенте для остальных банков есть запасной разбор CSV и XLSX.