Разработка 4 мин чтения

pdfme: счета и акты в PDF из JSON-шаблона, без Word

pdfme собирает PDF по шаблону из JSON прямо в браузере или на Node.js и имеет визуальный редактор бланка. Разбираю, что она умеет, как с кириллицей и таблицами, где ограничения и как подключить её к 1С, боту, CRM или сайту, чтобы менеджеры перестали собирать счета и акты руками.

pdfmeгенерация PDFсчета и актышаблоны документов
Коротко. pdfme это открытая библиотека под лицензией MIT, которая собирает PDF по шаблону. Бланк описан в JSON, данные подставляются из вашей системы, файл рождается за доли секунды в браузере или на Node.js. Есть встроенный визуальный редактор бланка, поэтому оформление можно менять без программиста. Готовой программой для офиса она не является: к 1С, боту, CRM или сайту её подключает разработчик.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

Подключим генерацию PDF к 1С, CRM, боту или сайту

Откуда берутся ошибки в счетах и актах

Менеджер открывает прошлый счёт в Word или Excel, меняет клиента, ИНН, позиции, сумму и сохраняет под новым именем. Рано или поздно в документе остаётся то, что относилось к прежнему клиенту: дата, расчётный счёт, строка в таблице. Ещё и вёрстка ползёт, когда в таблицу добавляют позицию.

Оценочно, замеров у меня нет: если на счёт, акт или коммерческое предложение уходит по 5 минут, а таких документов 20 в день, это почти два часа работы ежедневно. Плюс время на исправление, когда клиент вернул документ с ошибкой.

Повод разобраться дал пост в канале GitHub Radar от 14.10.2026 про проект pdfme. Я прочитал документацию и репозиторий, а потом собрал тестовый счёт на Node.js.

Что такое pdfme и насколько проект живой

Лицензия MIT, по файлу LICENSE.md в репозитории, так что использовать в коммерческих проектах можно. Репозиторий создан 22.08.2021, около 4900 звёзд. Последний релиз 6.2.5 вышел 14.10.2026, до него 6.2.4 от 06.10 и 6.2.3 от 05.10, то есть релизы выходят чаще раза в неделю. Пакет генератора на npm скачивают порядка 790 тысяч раз в месяц.

В истории 53 участника, считая ботов, но проект держится на одном человеке: у основного автора около 1100 коммитов, у следующего живого участника 27. Среди последней сотни коммитов 54 сделаны ботом cursoragent, то есть ИИ-агентом, и 39 самим автором. Для нас это значит, что код нужно закреплять на конкретной версии и не обновляться вслепую.

Как задаётся шаблон

Шаблон это JSON из двух частей. Первая, basePdf, задаёт страницу: размер и поля, либо готовый PDF как фон. Вторая, schemas, описывает поля: имя, тип, положение и размер. При генерации вы передаёте значения по именам полей, и получаете PDF.

По документации поддерживаются текст с несколькими переменными внутри одной строки, картинки JPEG и PNG, SVG, линии и рамки, таблицы, списки, даты, галочки. Для талонов и билетов есть QR-код и штрихкоды: qrcode, ean13, ean8, code39, code128, itf14, upca, upce, gs1datamatrix, pdf417. Всё, кроме обычного текста, подключается явно пакетом @pdfme/schemas. В моём тесте пришлось передать плагин text вместе с остальными, иначе генератор отказался работать.

Про кириллицу. Встроенный шрифт Roboto в моём тесте на версии 6.2.5 вывел русский текст без ошибок. Для фирменного шрифта подключается свой файл TTF или OTF, он встраивается в PDF. Китайские и японские символы без своего шрифта превращаются в квадратики, это прямо написано в документации.

Редактор бланка и где живут данные

Кроме генератора есть пакет @pdfme/ui с тремя компонентами. Designer это визуальный редактор: поля перетаскиваются мышью, настраиваются шрифт, цвет, границы. Form даёт заполнить поля руками, Viewer показывает готовый документ. Попробовать можно на playground.pdfme.com. Сам Designer я у себя не запускал, пишу по документации и по песочнице.

Для заказчика это значит, что бухгалтер или владелец сам двигает реквизиты, меняет логотип и добавляет строку в бланк, а разработчик занят интеграцией.

По документации библиотека работает в браузере и на Node.js, облачного сервиса у неё нет. Зависимостей у генератора две: fontkit и форк pdf-lib. Внешний запрос возможен, только если вы сами указали шрифт или картинку ссылкой. Сетевой трафик я не снимал, так что полная гарантия «ничего не уходит наружу» остаётся на проверке при внедрении. Данные клиентов остаются на вашем сервере или в браузере сотрудника.

Что важно учесть

Без разработчика у вас в руках будет песочница. Нужны код, который берёт данные из 1С или CRM, хранение шаблонов и кнопка у менеджера.

Автоматический перенос на следующие страницы работает, только если страница задана размерами. Если взять готовый PDF-бланк как фон, страницы остаются неизменными, и длинная таблица не перетечёт на следующий лист. Я проверил на таблице из 70 строк: она разошлась на три страницы, но шапка на продолжении не повторилась.

Электронную подпись в документации я не нашёл. Есть поле для подписи, но это картинка. Если вам нужна ЭЦП, это отдельная система, и нужна ли она в ваших документах, лучше уточнить у юриста. Ссылки внутри PDF в списке планируемых возможностей, то есть пока их нет.

Чем это отличается от HTML в PDF. Puppeteer запускает настоящий Chrome и печатает страницу, wkhtmltopdf печатает страницу через WebKit. Это удобно, когда документ проще всего описать как сайт, но на сервере придётся держать браузер. pdfme рисует документ напрямую, без браузера внутри, а бланк правится в визуальном редакторе. Скорость я не сравнивал.

Что можно сделать уже сейчас

Выберите один документ, который ваши люди собирают чаще всего. Скиньте мне его образец и два-три заполненных примера.

Решите, откуда брать данные. Если это 1С, посмотрите, как строится связка CRM и 1С. Если это бот или форма на сайте, данные уже лежат в нужном виде.

Подумайте, кому нужен редактор. Если бланк меняется чаще раза в квартал, Designer окупается быстро. Если раз в три года, достаточно правки шаблона разработчиком.

О том, как выглядит цепочка от заявки до закрывающих документов, я писал в статьях про счета и акты и про генератор договоров и КП. Подключение pdfme к вашим системам делается в рамках интеграции сайта, CRM, 1С и мессенджеров. Стоимость смотрите на странице цен или обсудим под вашу задачу.

Частые вопросы

Можно ли взять наш нынешний бланк из Word?

Можно сохранить его в PDF и использовать как фон, поля встанут поверх. Минус тот, что тогда не работает автоматический перенос таблицы на следующий лист. Если в счетах много позиций, лучше собрать бланк заново на странице заданного размера.

Нужен ли отдельный сервер?

Для генерации нужен только Node.js там, где живёт ваша система, либо браузер сотрудника. Где именно запускать, решаем под вашу ситуацию. Если нужен ещё и общий набор операций с готовыми PDF, смотрите Stirling-PDF.

Если 1С уже печатает счёт, нужен ли pdfme?

Если печатная форма устраивает, трогать её не стоит. Смысл появляется, когда бланк собирают вручную, когда файл нужно отправлять из бота или с сайта, или когда оформление хочется менять без программиста.

Коротко о главном

pdfme стоит рассматривать как деталь для сборки документов: лицензия свободная, проект живой, русский текст в тесте вывелся, таблицы и QR-коды есть. Пока вы не знаете, откуда брать данные и кто будет поддерживать связку, до результата далеко. Риск один: проект держит основной автор, поэтому версию надо закреплять.

Если у вас счета, акты, сертификаты или талоны до сих пор собираются руками, напишите мне в Telegram кодовое слово «БЛАНК» и пришлите образец документа. Скажу, подойдёт ли pdfme, откуда брать данные и что подключать.

Обсудим вашу задачу

Что я делаю для бизнеса

Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх