Gotenberg Ваш швейцарский нож для работы с PDF в Docker

13 Feb, 2026

Знакомая ситуация? Вы разрабатываете веб-сервис, и вдруг поступает задача: "Нам нужно, чтобы пользователи могли скачивать отчеты в PDF". Или того хуже: "Надо принимать DOCX, а отдавать PDF, и чтобы все было красиво!". В этот момент у многих разработчиков начинает дергаться глаз. Ведь работа с PDF-файлами — это часто боль, слезы и бесконечные поиски подходящих библиотек, которые либо слишком громоздки, либо капризны, либо требуют установки кучи зависимостей на сервер.

А что, если я скажу, что есть элегантное, контейнеризированное решение, которое берет на себя всю эту головную боль? Встречайте — Gotenberg! Это не просто инструмент, это настоящий помощник, который превратит рутину конвертации документов в удовольствие.

Gotenberg Logo

Что такое Gotenberg и почему он вам нужен?

Gotenberg — это высокопроизводительный, легковесный API, созданный на языке Go, который работает внутри Docker-контейнера. Его главная задача — упростить процесс конвертации самых разнообразных документов в PDF. Забудьте о борьбе с системными зависимостями, сложными конфигурациями и конфликтами версий. Gotenberg инкапсулирует все необходимые инструменты (такие как Chromium для веб-страниц и LibreOffice для офисных документов) в одном, готовом к использованию контейнере.

Кому это нужно? Практически любому разработчику или команде, которые сталкиваются с необходимостью программной генерации или обработки PDF:

  • Веб-разработчикам: для создания PDF-отчетов из HTML-шаблонов, сохранения веб-страниц, формирования инвойсов или билетов.
  • Разработчикам бэкенда: для автоматизации документооборота, обработки загруженных пользователями файлов, создания печатных форм.
  • Тем, кто ценит простоту: если вы не хотите тратить время на глубокое изучение тонкостей работы с PDF-библиотеками, Gotenberg предлагает простой и понятный REST API.

Ключевые возможности Gotenberg: Магия конвертации в действии

Gotenberg не просто конвертирует, он делает это умно и эффективно. Давайте посмотрим на его основные "суперсилы":

1. HTML и Markdown в PDF: С точностью до пикселя

Представьте: вам нужно сохранить чеки из интернет-магазина или целую веб-страницу в виде аккуратного PDF-документа. Вручную это долго и некрасиво. Gotenberg с помощью движка Chromium (того же, что в Chrome!) делает это автоматически, сохраняя разметку, стили и даже интерактивные элементы. То же самое касается Markdown — ваши красиво оформленные README или статьи легко превратятся в профессионально выглядящие PDF-файлы.

# Пример запроса к Gotenberg для конвертации HTML
curl --request POST \
     --url http://localhost:3000/forms/chromium/convert \
     --header 'Content-Type: multipart/form-data' \
     --form 'files=@index.html' \
     --output output.pdf

2. Офисные документы в PDF: Без LibreOffice на сервере

Эта фича — спасение для тех, кто работает с бизнес-документами. Word (DOCX), Excel (XLSX), PowerPoint (PPTX) и даже OpenDocument форматы (ODT, ODS, ODP) — все это Gotenberg умеет превращать в PDF. И самое главное: вам не нужно устанавливать LibreOffice или Microsoft Office на свой сервер! Gotenberg поставляется с предустановленным LibreOffice внутри контейнера, что сильно упрощает развертывание и обслуживание.

3. Объединение и манипуляции с PDF: Больше, чем просто конвертер

Gotenberg выходит за рамки простой конвертации. Он позволяет объединять несколько PDF-документов в один, добавлять или удалять страницы, применять метаданные. Это особенно полезно, когда вам нужно сгенерировать сложный отчет из разных источников или подготовить пакет документов для отправки.

4. Скриншоты веб-страниц: Снимок экрана в API

Помимо конвертации, Gotenberg может делать скриншоты веб-страниц. Это удобно для аудита, мониторинга или просто для создания превью контента. Представьте, как легко можно автоматизировать создание изображений для ваших ссылок или каталогов!

Техническая подноготная: Как это работает?

В основе Gotenberg лежит язык Go, известный своей производительностью и эффективностью. Но вся "магия" происходит благодаря интеграции с мощными, проверенными инструментами:

  • Chromium: Используется для рендеринга HTML, Markdown и создания скриншотов. Это гарантирует высочайшую точность отображения веб-контента, ведь вы получаете тот же движок, что и в современном браузере.
  • LibreOffice: Отвечает за конвертацию офисных документов. Это надежное и многофункциональное решение, которое Gotenberg обертывает в удобный API.
  • Дополнительные утилиты: Gotenberg также использует такие инструменты, как qpdf и pdftk для манипуляций с PDF (объединение, разделение, шифрование и т.д.), и ExifTool для работы с метаданными.

Вся эта сложная связка упакована в Docker-контейнер, что делает Gotenberg невероятно простым в развертывании. Буквально одна команда, и ваш PDF-сервер готов к работе:

# Запуск Gotenberg в Docker
docker run --rm -p 3000:3000 gotenberg/gotenberg:8

После этого API доступен по адресу http://localhost:3000, и вы можете отправлять свои запросы.

Практическое применение: Где Gotenberg раскроет свой потенциал?

Возможности Gotenberg практически безграничны. Вот несколько сценариев, где он станет незаменимым инструментом:

  • E-commerce платформы: Автоматическая генерация инвойсов, квитанций, этикеток для доставки, подарочных сертификатов.
  • Системы управления контентом (CMS): Создание PDF-версий статей, блогов, документации по запросу пользователя.
  • HR-системы: Формирование трудовых договоров, справок, отчетов по сотрудникам из шаблонов.
  • Финансовые сервисы: Генерация банковских выписок, отчетов по транзакциям, налоговых документов.
  • Образовательные платформы: Создание PDF-версий учебных материалов, конспектов, тестов.
  • Любой сервис, требующий экспорта данных: Отчеты из CRM, аналитические дашборды, технические спецификации.

Гибкость API позволяет интегрировать Gotenberg практически в любой стек технологий — будь то Node.js, Python, PHP, Java или .NET. Вы просто отправляете HTTP-запросы и получаете готовый PDF.

TheCodingMachine Logo pdfme Logo

Powered by

JetBrains logo

Выводы: Стоит ли Gotenberg вашего внимания?

Если вы когда-либо сталкивались с необходимостью программной конвертации документов в PDF, то Gotenberg — это именно тот инструмент, который вы искали. Он предлагает:

  • Простоту: Быстрый старт с Docker и интуитивно понятный API.
  • Надежность: Использование проверенных движков Chromium и LibreOffice.
  • Универсальность: Поддержка множества форматов и дополнительные функции для работы с PDF.
  • Производительность: Разработан на Go, что обеспечивает высокую скорость работы.

Gotenberg освободит вас от рутины и позволит сосредоточиться на более важных задачах вашего проекта. Это отличный пример того, как грамотная инкапсуляция сложных технологий в простой API может решить множество проблем разработчиков.

Так что, если в вашем проекте назревает задача по работе с PDF, обязательно загляните на страницу Gotenberg на GitHub или изучите документацию. Возможно, это именно тот "швейцарский нож", которого не хватало в вашем инструментарии!