v1.0.1 · Ubuntu · GTK4 · CUPS

See the print before it prints.

Easy Photo Print 1.0.1Python · libadwaita · free
Ubuntu 25.04 or newer

Set paper size to print to, drop a photo on the paper, then move, scale and crop it until it looks right. Pick borderless, paper type and quality, and send it to the printer. What you see in the window is what comes out of the tray.

What it does

One photo. One sheet.

Deliberately small. No library, no collages. It puts a single photo on a single sheet of paper as exactly as it can, and helps the printer get it right the first time.

// place

Move, scale, crop

Drag to move, scroll or pinch to scale around the pointer, pull the handles to crop. Right-drag slides the photo inside its crop. Snaps to the edges and centre, with Fit, Fill, Center and Align to edge. Choose whether dragging an edge crops, resizes or stretches, and undo the last five changes.

// paper

Read from the printer

Paper sizes, borderless variants, paper types, quality and paper source come from the printer's own CUPS description. Four preset buttons set them all in one click. A red band in the preview shows the margins it can't print on.

// borderless

Edge correction

Borderless printing enlarges the page and cuts a few mm from every side. Print the calibration sheet once, enter the numbers you still see at each edge, and the app compensates. Saved per printer and paper size.

// adjust

Per-photo colour

Auto enhance (levels and colour cast), filters (black & white, sepia, vivid, warm, cool, faded) and sliders for brightness, contrast, saturation, warmth and sharpness. Hold to compare.

// print output

Tuned for ink

Light sharpening sized to the print resolution, and an optional midtone lift if prints come out darker than the screen. Applied only to the print, and remembered.

// status

Ink, paper, progress

Online or offline, ink levels and the loaded paper sizes, asked directly from the printer every 30 seconds. A progress dialog follows each job to “printed” and can cancel it.

// output

Exactly paper-sized

A one-page PDF the size of the paper, holding only the visible part of the photo at up to 300 dpi, sent with scaling off. Save it as a PDF to check the result without using paper.

Screenshots

In action.

Click any screenshot to see it full size. Photos are public domain, from Wikimedia Commons.

Photo tabAuto enhance, warm filter, a little contrast
Placing the photoUndo, align to an edge, and what dragging does
5 × 7″ with bordersCropped; the trimmed parts shown faintly
One-tap presetsThe A4 preset: plain paper, normal quality, main tray
Edge correctionCalibrate borderless prints, in dark mode
Printer statusInk levels and the paper loaded
Install

Install the .deb

Requires Ubuntu 25.04 or newer, such as 25.10 or 26.04 LTS. The app needs libadwaita 1.7 or later; Ubuntu 24.04 LTS only ships 1.5, so the package won't install there. The .deb works on any architecture, and apt pulls in any missing dependencies.

  1. 01

    Download the package

    Download rc-easy-photo-print_1.0.1_all.deb. It usually lands in your Downloads folder.

  2. 02

    Install it with apt

    Keep the ./ so apt treats it as a local file rather than a package name to download. apt asks for your password and installs the dependencies too.

    terminal
    $ cd ~/Downloads
    $ sudo apt install ./rc-easy-photo-print_1.0.1_all.deb
  3. 03

    Open it

    Start Easy Photo Print from the app grid, right-click a photo and choose Open With, or run it from a terminal:

    terminal
    $ rc-easy-photo-print holiday.jpg

    Upgrade: download the newer .deb and run the same apt install line with it. Remove: sudo apt remove rc-easy-photo-print. Your settings in ~/.config/rc-easy-photo-print/ are kept.

Compatibility

Which Ubuntu?

Decided by the libadwaita version each release ships.

26.04 LTS✓ libadwaita 1.9
25.10✓ libadwaita 1.8
25.04✓ libadwaita 1.7
24.04 LTS✗ 1.5, too old

Dependencies

// all from the standard Ubuntu archive; apt installs them with the .deb

python3 ≥ 3.11runs the app
python3-giPython bindings for GTK
gir1.2-gtk-4.0GTK 4 toolkit
gir1.2-adw-1 ≥ 1.7libadwaita, the GNOME look
python3-gi-cairo · python3-cairodrawing the preview and the PDF
python3-cupstalking to CUPS: options and jobs
python3-pilPillow: loading photos, colour, adjustments
cups-ipp-utilsippfind, to reach the printer for status and ink
Using it

Hands on the photo.

MoveDrag, or ← → ↑ ↓ for 1 mm (Shift 10 mm)
ScaleScroll wheel, pinch, or + / −
CropDrag the blue corner and edge handles. The Photo tab can switch this to Resize or Free resize
Slide inside the cropRight-drag, Ctrl + drag, or the Slide in crop mode
Snapping offHold Alt while dragging, or use the No snap mode
UndoCtrl Z undoes the last move, crop or resize; it remembers five
Open · Print · Full screenCtrl O · Ctrl P · F11
Test without paperThe save button in the header bar writes the exact PDF that would be printed

Print it right.

Built and tested with a Canon PIXMA TS8700 over driverless IPP. Other CUPS printers should work, as the options are read from each printer's own description.