ubunatic.com

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.

Key facts

12-week commit activity

2026-10-26
View 12-week data table
Week startingCommits
2026-08-0312
2026-08-100
2026-08-170
2026-08-241
2026-08-311
2026-09-071
2026-09-140
2026-09-210
2026-09-280
2026-10-051
2026-10-120
2026-10-190

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

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.

GNOME Files — PDF Doctor Right-Click Context Menu

Selected documents
Q3_Financial_Report.pdf and Appendix_Charts.pdf
Context menu
Open With Document Viewer → Merge... → Compress... → Move to Trash
Illustrative interface mockup; this is not a captured screenshot.

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

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.sh

Requires poppler-utils or ghostscript for full documents, qpdf for page ranges and optional python3-nautilus.

Project details

Stack
Python, GTK4/PyGObject, Nautilus Python extension, Poppler, Ghostscript, qpdf, pdftk

Layer composition

Terminal
CLI
Desktop
Linux, GTK4, GNOME Files
Inference / AI
—
Containers / VM
—
Web
—

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