Как мы сделали генерацию PDF-договоров защищенной от парсинга
Суть без длинного чтения
Если нужен быстрый вывод по теме, ниже собрали главное: что это значит, когда проблема уже влияет на бизнес и какой следующий шаг обычно даёт пользу быстрее всего.
О чем статья
Рисуем счета и акты на лету с помощью PDFKit. Сложности кириллицы и защита подписей.
В какой момент это становится проблемой
Тема становится прикладной, когда текущий контур уже мешает скорости изменений, стабильности продукта или прозрачности управления для бизнеса.
Что делать после прочтения
Следующий практический шаг — зафиксировать текущие риски, целевой результат и первую очередь работ, чтобы не лечить проблему наугад.
#01Задача
В B2B-портале требовалось автоматически генерировать "Счет-фактуру" и "Договор" при оформлении заказа. Важное требование безопасности: печать и подпись директора не должны легко "вытягиваться" из PDF как картинки.
#02Выбор инструмента: PDFKit
Мы отказались от конвертации HTML в PDF (Puppeteer/wkhtmltopdf), так как это медленно и потребляет много RAM на сервере. Выбрали pdfkit — низкоуровневую библиотеку, которая рисует векторный PDF напрямую.
#03Защита графики
Чтобы усложнить парсинг подписей, мы рисуем PNG-изображения печати и подписи на самом нижнем слое (background), а сверху накладываем текст документа. Дополнительно можно наложить невидимый "шум" (watermark).
#04Кириллица
По умолчанию PDFKit использует стандартные шрифты без поддержки кириллицы. Нам пришлось вшить в Docker-контейнер TTF файлы шрифта Roboto и регистрировать их программно перед генерацией документа.
Редакционная проверка и источники
Материал подготовлен как практический разбор и привязан к рабочим сценариям бизнеса, а не к абстрактной теории.
Готовы внедрить это решение в ваш бизнес?
Закажите индивидуальную консультацию и проектный аудит со сметным договором.