Max Freedom Pollard c21ceacd4b fix(libreoffice): report an encrypted .xlsb as password-protected (#1655)
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.
2026-09-06 13:05:20 +02:00
2025-03-21 14:09:34 +01:00
2026-09-04 10:00:28 +02:00
2026-09-04 10:00:28 +02:00
2025-01-06 09:17:13 +01:00

Gotenberg Logo

Gotenberg

A Docker-based API for converting documents to PDF

Total downloads (gotenberg/gotenberg) Continuous Integration Go Reference

gotenberg%2Fgotenberg | Trendshift

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

Languages
Go 67.1%
Gherkin 31.3%
Dockerfile 1.2%
Makefile 0.4%