Backend & ИИ

Что такое PyMuPDF и pdfplumber (работа с PDF)

Что это

Библиотеки 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.

← Все термины

Нужен сайт, бот или автоматизация?

Термины объяснили — теперь давайте к делу: расскажите о задаче, а мы переведём её на понятный план работ.