Files
blurb/README.md
T
ryan 4d5d3a4c75 Add main entry point for Blurb Photo Book Editor
- Implemented the main function to launch the editor.
- Added error handling for missing PySide6 dependency.
- Included instructions for installing required packages.
2026-10-05 00:11:30 -04:00

3.5 KiB
Raw Blame History

Blurb Photo Book Editor

A Windows desktop app for arranging a folder of photos into a Blurb-ready interior PDF. Each photo is placed on its own page. The editor supports reordering, crop adjustment, page tags, and print-size setup.

Install and launch

From PowerShell in this directory:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe main.py

Use the editor

  1. Choose File → Import photo folder. Import scans the selected folder's top level, sorts photos oldest to newest, and prepares previews in the background. A progress dialog shows scanning and preview progress.
  2. Select a page card to edit it. Drag a photo inside the page to reposition it; use the zoom slider or +/- buttons to zoom around the current frame center. Photos start centered and cropped to fill the page.
  3. Drag cards to reorder pages. Use Insert blank, Insert photo, Remove page, or Relink photo as needed. The source photos are not modified.
  4. Right-click a page card to Tag page or Untag page. A red badge marks tagged pages, and tags are saved in the project. View → View Tagged filters the list to tagged photo pages; it is disabled when no photos are tagged. In this view, insertion and reordering are disabled; switch to View All to use them.
  5. Save the editable .blurbproj separately from the exported PDF.

Photo cards show the date as mm/dd/yyyy. Dates come from supported timestamps in the filename first, then EXIF capture date, then filesystem creation time as a fallback.

Blurb print setup and export

The default trim area is 9.5 × 8 inches per individual page. In File → Blurb print setup, enter the final PDF page width and height and the trim offsets required for the selected Blurb book format, paper, and cover. The exported PDF has one page per book page and includes the configured bleed area. The dashed guide shows the trim area, including alternating binding and outside edges.

Export renders photo pages at 300 PPI, checks the resulting PDF page count and dimensions, and requires an even page count. It can append blank pages to meet the configured minimum. The default page limits are 20–440; set them to the limits for the selected format and paper. The PDF contains interior pages only; cover design is not included.

Blurb's requirements vary by book configuration. Check the current PDF-to-Book specifications and page-count limits before exporting.

Supported photo formats are JPEG, PNG, TIFF, WebP, and BMP. HEIC and camera RAW files are reported as unsupported. Folder import is not recursive.

Project files

A .blurbproj file stores photo paths, page order, each page's zoom and pan, page tags, and print settings. Photo files remain at their original locations; if a path is no longer available, use Relink photo.

Code layout

  • main.py starts the application.
  • blurb_editor.py contains the PySide6 interface, background import and export workers, page list, and photo canvas.
  • blurb_book.py contains project and print-profile data, photo sorting and rendering, and PDF export.
  • requirements.txt pins the Python dependencies.

Use the project virtual environment when launching or installing dependencies. The PDF exporter uses Pillow for rendering, ReportLab for assembly, and PyMuPDF for output checks.