Desktop Apps, Media & Simulation
pdf-doctor Merge & Organise PDFs Right From Nautilus
Select multiple PDF files in GNOME Files, right-click, and choose Merge. Reorder documents and select page ranges in a local GTK4 app, or merge from the command line.
Project snapshot · measured 2026-10-26
Key facts
12-week commit activity
2026-10-26View 12-week data table
| Week starting | Commits |
|---|---|
| 2026-08-03 | 12 |
| 2026-08-10 | 0 |
| 2026-08-17 | 0 |
| 2026-08-24 | 1 |
| 2026-08-31 | 1 |
| 2026-09-07 | 1 |
| 2026-09-14 | 0 |
| 2026-09-21 | 0 |
| 2026-09-28 | 0 |
| 2026-10-05 | 1 |
| 2026-10-12 | 0 |
| 2026-10-19 | 0 |
Key Features
- Reorder PDFs and choose page ranges before merging.
- Also offers a command-line mode and reports when page-selection tools are missing.
Stack
Python, GTK4/PyGObject, Nautilus Python extension, Poppler, Ghostscript, qpdf, pdftk
Why PDF Doctor
Merge documents from the file manager
Combine selected PDF documents without uploading them to a cloud service or assembling a command by hand. PDF Doctor adds a Merge entry to GNOME Files and also runs as a standalone GTK4 app or command-line tool.
Interface preview
GNOME Files — PDF Doctor Right-Click Context Menu
Features
Features
Right-Click Nautilus Integration
Subclasses Nautilus MenuProvider to add a native "Merge..." entry whenever 2 or more PDFs are selected.
Blazing Fast Engines
Uses system pdfunite (Poppler) or Ghostscript for full-document merges, and qpdf or pdftk for custom page ranges.
Custom Page Ranges
Specify page numbers or sub-ranges for each input PDF (e.g., 1-3, 5, 8-10) before merging.
Modern GTK4 Interface
Built with GTK4 and PyGObject for a responsive, dark-mode-native Linux app aesthetic.
Powerful CLI
Run headless merges directly from bash scripts with pdfdoctor --merge file1.pdf file2.pdf -o merged.pdf.
100% Offline & Private
No external servers or cloud services. All processing takes place entirely on your local machine.
Quick Installation
Quick Installation
Install the CLI binary, desktop shortcut and optional Nautilus Python extension from a repository checkout:
git clone https://codeberg.org/ubunatic/pdf-doctor
cd pdf-doctor
./scripts/install.shRequires poppler-utils or ghostscript for full documents, qpdf for page ranges and optional python3-nautilus.
Project details
Architecture
Layer composition
- Terminal
- CLI
- Desktop
- Linux, GTK4, GNOME Files
- Inference / AI
- —
- Containers / VM
- —
- Web
- —
Engineering story
pdf-doctor: the story behind the project
PDF Doctor brings PDF merging into GNOME Files. A user selects documents, opens the context menu, and can reorder them or choose page ranges. The app calls PDF tools already installed on Linux rather than embedding an engine.
Read the engineering story