mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-10-07 21:13:18 +01:00
c21ceacd4b1027a68d06931625916ddcb15c79bd
Uploading a password-protected .xlsb workbook without its password answered 500 with the unattributable-failure message instead of 400 with the remedy. DetectPasswordProtection in pkg/modules/libreoffice/api/protection.go infers encryption from a compound-file header carried by an extension whose unencrypted form is always a ZIP package. The ooxmlExtensions map listed .xlsx, .xlsm, .xltx and .xltm but not .xlsb, so an encrypted workbook under that extension fell through to PasswordProtectionUnknown. The convert route in pkg/modules/libreoffice/routes.go then matched neither password branch of its exit-code switch and returned the 500 default. An Excel Binary Workbook is an Open Packaging Conventions ZIP holding binary parts, so a compound file under that extension is encrypted for the same reason .xlsx is. Adding .xlsb to the map restores the 400 that names the 'password' form field.
Gotenberg
A Docker-based API for converting documents to PDF
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
Description
Languages
Go
67.1%
Gherkin
31.3%
Dockerfile
1.2%
Makefile
0.4%
