gotenberg

module
v8.30.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2026 License: MIT

README

Gotenberg Logo

Gotenberg

A Docker-based API for converting documents to PDF

Total downloads (gotenberg/gotenberg) Continuous Integration Go Reference

Documentation · Live Demo · Community


Gotenberg is a Docker-based API for converting documents to PDF. Trusted in production by thousands of companies. Also adopted by notable open-source projects.

Send your files via multipart/form-data, get a PDF back. No need to manage Chromium, LibreOffice, or fonts yourself.

Quick Start

docker run --rm -p 3000:3000 gotenberg/gotenberg:8

Convert a URL to PDF:

curl \
  --request POST http://localhost:3000/forms/chromium/convert/url \
  --form url=https://sparksuite.github.io/simple-html-invoice-template/ \
  -o invoice.pdf

Features

  • HTML, URL, Markdown to PDF via Headless Chromium
  • Office documents to PDF via LibreOffice (100+ formats)
  • Merge, split, rotate, flatten PDFs
  • Watermark, stamp, encrypt PDFs
  • PDF/A and PDF/UA compliance
  • Screenshots of URLs and HTML
  • Read/write metadata and bookmarks

See the full documentation.

Contributing

Questions and feedback: GitHub Discussions. Bug reports: GitHub Issues.

Sponsors

If Gotenberg powers your workflow or your business, consider becoming a sponsor.

Historic & GitHub Sponsors

Powered By

Directories

Path Synopsis
cmd
gotenberg command
pkg
gotenberg
Package gotenberg implements the core module system.
Package gotenberg implements the core module system.
gotenberg/internal/log
Package log gathers internal logging utilities.
Package log gathers internal logging utilities.
gotenberg/internal/otel
Package otel gathers initialization utilities for OpenTelemetry instrumentation.
Package otel gathers initialization utilities for OpenTelemetry instrumentation.
gotenberg/semconv
Package semconv provides OpenTelemetry semantic convention types and functionality.
Package semconv provides OpenTelemetry semantic convention types and functionality.
modules/api
Package api implements the HTTP server module.
Package api implements the HTTP server module.
modules/chromium
Package chromium adds routes for converting HTML documents to PDF.
Package chromium adds routes for converting HTML documents to PDF.
modules/exiftool
Package exiftool implements gotenberg.PdfEngine using the ExifTool command-line tool.
Package exiftool implements gotenberg.PdfEngine using the ExifTool command-line tool.
modules/libreoffice
Package libreoffice adds a route for converting documents to PDF with LibreOffice.
Package libreoffice adds a route for converting documents to PDF with LibreOffice.
modules/libreoffice/api
Package api manages a LibreOffice instance via the UNO API.
Package api manages a LibreOffice instance via the UNO API.
modules/libreoffice/pdfengine
Package pdfengine implements gotenberg.PdfEngine using LibreOffice via the UNO API.
Package pdfengine implements gotenberg.PdfEngine using LibreOffice via the UNO API.
modules/pdfcpu
Package pdfcpu implements gotenberg.PdfEngine using the pdfcpu command-line tool.
Package pdfcpu implements gotenberg.PdfEngine using the pdfcpu command-line tool.
modules/pdfengines
Package pdfengines gathers and manages modules that implement gotenberg.PdfEngine.
Package pdfengines gathers and manages modules that implement gotenberg.PdfEngine.
modules/pdftk
Package pdftk implements gotenberg.PdfEngine using the PDFtk command-line tool.
Package pdftk implements gotenberg.PdfEngine using the PDFtk command-line tool.
modules/prometheus
Package prometheus collects metrics and exposes them via an HTTP route.
Package prometheus collects metrics and exposes them via an HTTP route.
modules/qpdf
Package qpdf implements gotenberg.PdfEngine using the QPDF command-line tool.
Package qpdf implements gotenberg.PdfEngine using the QPDF command-line tool.
modules/webhook
Package webhook adds middleware for uploading output files to any destination asynchronously.
Package webhook adds middleware for uploading output files to any destination asynchronously.
standard
Package standard imports the default modules.
Package standard imports the default modules.
standard/chromium
Package chromium imports modules for the Chromium-only variant (no LibreOffice).
Package chromium imports modules for the Chromium-only variant (no LibreOffice).
standard/libreoffice
Package libreoffice imports modules for the LibreOffice-only variant (no Chromium).
Package libreoffice imports modules for the LibreOffice-only variant (no Chromium).
test
integration
Package integration contains the integration test suite.
Package integration contains the integration test suite.
integration/scenario
Package scenario gathers all steps used in the features.
Package scenario gathers all steps used in the features.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL