Minimal Ubuntu-based Docker image with PDF processing tools for headless/server use. Runs continuously, always ready to process — clients run commands without cold-start overhead using docker exec.
| Tool | Description |
|---|---|
| Ghostscript | PDF/PostScript interpreter — merge, split, compress, convert |
| Poppler | PDF rendering library (pdfinfo, pdftotext, pdftoppm, pdfimages, …) |
| pdf2svg | Convert PDF pages to SVG |
| MuPDF | Lightweight PDF viewer and toolkit (mutool) |
| pdfjam | PDF manipulation via LaTeX (texlive-extra-utils) |
- Docker Hub:
eworkssk/pdf - GitHub Packages:
ghcr.io/eworkssk/pdf
| Tag | Description |
|---|---|
latest |
Latest build |
2026-20 |
Specific year-week build |
Tags are examples — see Docker Hub or GitHub Packages for current tags.
# Start the container
docker run -d --name pdf eworkssk/pdf:latest
# Convert PDF to PNG (one image per page)
docker exec pdf pdftoppm -png /data/file.pdf /data/output
# Merge PDFs
docker exec pdf gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=/data/merged.pdf /data/a.pdf /data/b.pdf
# Extract text from PDF
docker exec pdf pdftotext /data/file.pdf /data/output.txt
# Convert PDF page to SVG
docker exec pdf pdf2svg /data/file.pdf /data/output.svg 1
# Open a shell
docker exec -it pdf bashservices:
pdf:
image: eworkssk/pdf:latest
volumes:
- ./files:/data
restart: unless-stoppeddocker run -d --name pdf -v /your/files:/data eworkssk/pdf:latest
docker exec pdf pdftotext /data/file.pdf /data/output.txtMount a directory with your font files into /usr/local/share/fonts/custom — the font cache is rebuilt automatically on every container start.
docker run -d --name pdf \
-v /your/fonts:/usr/local/share/fonts/custom:ro \
eworkssk/pdf:latestThe :ro flag mounts fonts read-only. With Docker Compose:
services:
pdf:
image: eworkssk/pdf:latest
volumes:
- ./files:/data
- ./fonts:/usr/local/share/fonts/custom:ro
restart: unless-stoppedImages are built for linux/amd64 and linux/arm64 — works on standard x86-64 machines, ARM-based Linux servers, Apple Silicon, and Raspberry Pi.
Images are updated automatically every Tuesday at 03:00 UTC, picking up the latest Ubuntu security patches and tool updates.
Build tags use the format {year}-{month} (e.g. 2026-20).
We are building custom web and mobile apps for 20+ years. Check out our website for more.
This image runs in our own stack, which is why we keep it maintained. Issues and PRs are welcome and appreciated.
