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. docker run --rm -p "3000:3000" gotenberg/gotenberg:9 Open source under the MIT license. Pulled from Docker Hub more than 100 million times.
- Run the container
docker run - Post your files
POST /forms/… - Collect the PDF
200 application/pdf
Convert to PDF.Chromium prints a URL, HTML or Markdown. LibreOffice converts Word, Excel, PowerPoint and over a hundred other formats. 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. litho · /forms/pdf/pipe curl \ --request POST http://localhost:3000/forms/pdf/pipe \ --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. litho · /forms/pdf/validate curl \ --request POST http://localhost:3000/forms/pdf/validate \ --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. LibreOffice · /forms/libreoffice/convert curl \ --request POST http://localhost:3000/forms/libreoffice/convert \ --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. 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. 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 Open source under the MIT license. Pulled from Docker Hub more than 100 million times. |