Skip to content

Printer configuration

Balthasar Reuter edited this page Jun 27, 2019 · 2 revisions

There are currently two printing modules included in the photobooth:

  • the Qt5 printing system (platform independent, should work on any operating system)
  • the pycups module for CUPS (works only on systems with cups, e.g., Linux or macOS) If possible, use the pycups module as it proved to be more stable and prints faster.

The photobooth always uses the default printer of the system with default options. Therefore, make sure you set a default printer and have selected the correct options.

Preparing printer installation

Many popular printers (especially the most-commonly used Canon SELPHY CP-1300) require additional drivers not included in standard installations. Thus, install the Gutenprint printer drivers first:

apt install printer-driver-gutenprint

To allow the current user to modify printer settings we must add it to the group lpadmin:

sudo usermod -a -G lpadmin $(whoami)

Printer installation (USB printer)

  • Plug in the printer.
  • Open http://localhost:631 on the Raspberry Pi.
  • Select 'Add Printer' in the Tab 'Administration'
  • When asked, enter credentials for user pi
  • The printer should be offered somewhere close to the top of the list in the section 'Local Printers'. Select it and click 'Continue'.
  • If you wish, you can specify a name in the next step.
  • In the last step, select the appropriate model in the list. For the Canon SELPHY CP1300 the printer for the CP1200 works more or less fine.
  • Click "Add Printer". This concludes the installation.
  • In the following dialogue, you can modify the default settings.

Unfortunately, the Gutenprint drivers feature a rather bad printing quality and I found to obtain better results using the driverless WiFi configuration (see below).

Printer installation (Canon SELPHY CP1300 via WiFi)

Some information on driverless printing: https://wiki.debian.org/DriverlessPrinting

The instructions below are specific to the Canon SELPHY CP1300.

  • Create a hotspot on the Raspberry Pi (e.g., using raspap)
  • Create /etc/dnsmasq.d/photoprinter with the content:
dhcp-host=00:bb:cc:11:22:33,192.168.50.50
  • Connect your printer to the created WiFi network
  • Open http://localhost:631 on the Raspberry Pi.
  • Select 'Add Printer' in the Tab 'Administration'
  • When asked, enter credentials for user pi
  • Specify the address ipp://192.168.50.50/ipp/print for the printer
  • driverless is supposed to create the PPD file itself, however, that did not work in my case (but it did for my regular Samsung Laser Printer). Luckily, (someone else)[https://www.voss.earth/2018/08/31/kurztipp-canon-selphy-wlan-drucker-cp910-oder-cp1300-unter-linux-cups-verwenden/] had the same issue before and was smart enough to generate the PPD on macOS and provide it online. It is included in the repository under supplementals. When asked for the model, provide this PPD file instead.
  • Click "Add Printer". This concludes the installation.
  • In the following dialogue, you can modify the default settings.

Select default printer

For either installation method, it is important that you set the printer as the default printer. For that, go to the CUPS administration interface (http://localhost:631), open the list of printers and select your printer. In the drop-down menu 'Administration' select 'Set as Server Default'.