GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Gotenberg
  • Documentation
  • Help
  • GitHub
  • 8.x

This view

  • Original page
  • New address

GeezerVison is showing gotenberg.dev — A Docker-based API for PDF conversion | Gotenberg

The PDF
press,
rebuilt.

A Docker-based API for PDF. It converts web pages and office documents, then remediates, signs and delivers them in the same request.

Getting startedGitHub13k+
docker run --rm -p "3000:3000" gotenberg/gotenberg:9

Open source under the MIT license. Pulled from Docker Hub more than 100 million times.

  1. Run the containerdocker run
  2. Post your filesPOST /forms/…
  3. Collect the PDF200 application/pdf

Sponsors

TheCodingMachinepdfmePDFBoltFileToPDF

Powered by

DockerJetBrainsBecome a sponsor

Convert to PDF.

Chromium prints a URL, HTML or Markdown. LibreOffice converts Word, Excel, PowerPoint and over a hundred other formats.

  • URL
  • HTML
  • Markdown
  • Office documents
Chromium · /forms/chromium/convert/url
curl \
--request POST http://localhost:3000/forms/chromium/convert/url \
--form url=https://example.com \
-o example.pdf

29 stages on any PDF.

Merge, split, stamp, sign, encrypt, redact. List them in the stages field: Gotenberg runs them in order, on a PDF or right after a conversion.

  • Pipe stages
  • Every route
  • Sign a contract
litho · /forms/pdf/pipe
curl \
--request POST http://localhost:3000/forms/pdf/pipe \
--form [email protected] \
--form [email protected] \
--form 'stages=[
{ "op": "merge" },
{ "op": "set-metadata", "title": "Q3 report" },
{ "op": "remediate", "profile": "PDF/A-4" },
{ "op": "optimize" }
]' \
-o archive.pdf

Validate, then remediate.

Checks a PDF against PDF/A, PDF/UA and Factur-X, clause by clause. Remediation repairs it until it conforms and reports what it couldn't fix.

  • Validate
  • Remediate
  • Autotag
  • Archive documents
litho · /forms/pdf/validate
curl \
--request POST http://localhost:3000/forms/pdf/validate \
--form [email protected] \
--form profile=PDF/UA-1
200 application/json
{
"report.pdf": {
"profile": "PDF/UA-1",
"compliant": false,
"violations": [
{
"specification": "ISO_14289_1",
"clause": "6.2",
"testNumber": 1,
"description": "The document catalog dictionary shall include a MarkInfo dictionary containing an entry, Marked, whose value shall be true",
"context": "catalog missing /MarkInfo",
"severity": "fatal"
},
# 12 more violations
]
}
}

Factur-X, ZUGFeRD, XRechnung.

Send the invoice with its Cross-Industry Invoice XML. One remediate stage returns a PDF/A-3 hybrid invoice.

  • E-invoice from HTML
  • Remediate
  • Attachments
LibreOffice · /forms/libreoffice/convert
curl \
--request POST http://localhost:3000/forms/libreoffice/convert \
--form [email protected] \
--form [email protected] \
--form 'stages=[
{ "op": "remediate", "profile": "Factur-X", "xml": "invoice.xml", "level": "EN 16931" }
]' \
-o invoice.pdf

Straight to your bucket.

Gotenberg fetches the source from a presigned URL and answers 204. Once the work is done, it uploads the PDF to your bucket, then posts an event.

  • Webhooks
  • Upload results to S3
  • Headers
LibreOffice · /forms/libreoffice/convert
curl \
--request POST http://localhost:3000/forms/libreoffice/convert \
--form 'downloadFrom=[
{ "url": "https://bucket.s3.amazonaws.com/in.docx?X-Amz-Signature=…" }
]' \
--header 'Gotenberg-Webhook-Url: https://bucket.s3.amazonaws.com/out.pdf?X-Amz-Signature=…' \
--header 'Gotenberg-Webhook-Method: PUT' \
--header 'Gotenberg-Webhook-Events-Url: https://api.example.com/events'

Nine images, five architectures.

The full image carries Chromium and LibreOffice. The -chromium and -libreoffice images carry one of them. AWS Lambda and Cloud Run get their own.

  • Install
  • Production
  • Configuration
  • Clients
gotenberg/gotenberg
:9 amd64 arm64 arm/v7 386 ppc64le
:9-chromium amd64 arm64 arm/v7 386 ppc64le
:9-libreoffice amd64 arm64 arm/v7 386 ppc64le
:9-aws-lambda amd64 arm64
:9-chromium-aws-lambda amd64 arm64
:9-libreoffice-aws-lambda amd64 arm64
:9-cloudrun amd64
:9-chromium-cloudrun amd64
:9-libreoffice-cloudrun amd64

Start with one command.

docker run --rm -p "3000:3000" gotenberg/gotenberg:9
Getting startedStar on GitHub

Open source under the MIT license. Pulled from Docker Hub more than 100 million times.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.