skip to Main Content

I’m trying to print some photos from my Pi on the Canon CP1500. I’m using CUPS v2.5.. But the result is far from desirable. The Photo is not full-size. There is a 1cm border along each side. Not what I want.

Printing from a smartphone is working fine, no problems there.
When printing with lp file.jpg the final print has the border.

  1. Wrong driver installed:
    I’ve tried all fitting drivers via localhost. I even extracted the ppd-file from my mac to get a gutenprint file. Nothing changes

  2. Wrong settings:
    I’ve tried every size-related setting. The strange thing is: Even changing the size to a smaller size doesn’t affect the final print. It’s all the same. This is the strange part. And the main reason why I’m writing here.

  3. Wrong Code:
    I’ve tried all variants incl. lp -o landscape -o fit-to-page -o file.jpg. No changes there.

  4. Picture not big enough:
    Not possible, I’ve created a testfile in Photoshop with the exact dimensions (100x150mm).

Verdict:
I’m out of options. Maybe one of you has another idea.

2

Answers


  1. I got the Canon CP1500 to print full-size with this command: lp -o media=Custom.148x100mm file.jpg. However the printer then cuts off about two to three millimeters of the photo on all sides. I haven’t yet found a setting to prevent that, but if this is a concern for you it would be theoretically fixable by manually adding a border to the photo.

    Since I found the installation of the printer a bit difficult, this is how I did it:

    1. Plug the printer into a Mac. This generates a PPD file which you can copy from /etc/cups/ppd/.
    2. Modify the PPD file and remove the line starting with *APPrinterIconPath.
    3. Optionally, download an ICC profile for the CP1500 from this site: https://www.objektiv-guide.de/icc-profil-canon-selphy/
      1. Move it to /usr/share/color/icc/Canon_Selphy_CP1500.icc and specify this path in the PPD file on the line starting with *cupsICCProfile RGB../Color
    4. Plug the printer into the Raspberry Pi. This will cause the ipp-usb deamon to automatically provide the printer as a network printer via the IPP over USB protocol.
    5. sudo apt install avahi-utils to be able to use avahi-browse.
    6. Use avahi-browse -avtr to find the port of the printer. In my case it was 60000.
    7. Add the www-data user and yourself to the lpadmin group using sudo usermod -a -G lpadmin <username>. This is necessary to be able to use the CUPS web interface on a remote PC.
    8. Go to http://<ip-of-your-raspi>:631 to open the CUPS web interface.
    9. Finally, click on ‘Add Printer’ and add the CP1500 as a network printer with the url localhost:<port> and upload the PPD file you prepared earlier.

    If you don’t have a Mac handy, this is the full content of my PPD file:

    *PPD-Adobe: "4.3"
    *cupsMandatory: attributes-charset attributes-natural-language printer-uri
    *% PPD created by ipp2ppd (v3:Dec 17 2022)
    *FormatVersion: "4.3"
    *FileVersion: "3.0"
    *LanguageVersion: English
    *LanguageEncoding: ISOLatin1
    *PSVersion: "(3010.000) 0"
    *LanguageLevel: "3"
    *FileSystem: False
    *cupsVersion: 2.0
    *cupsModelNumber: 0
    *cupsSNMPSupplies: False
    *APAirPrint: True
    *% WARNING Printer reported as unsupported: finishings-col-database
    *% WARNING Printer reported as unsupported: job-password-supported
    *% WARNING Printer reported as unsupported: job-presets-supported
    *% WARNING Printer reported as unsupported: pdf-k-octets-supported
    *% WARNING Printer reported as unsupported: printer-charge-info-uri
    *% WARNING Printer reported as unsupported: printer-strings-languages-supported
    *APAirPrintVersion: 1.4
    *APURFVersion: 1.5
    *APPrinterFWVersion: "External Firm ver, Internal Firm ver:1.0.1.0, 1.32"
    *% WARNING no printer-strings for the language "en"
    *cupsLanguages: "en"
    *cupsIdentifyActions: "flash"
    *APAcceptsMixedURF: True
    *PCFileName: "APCANONS.PPD"
    *ModelName: "Canon SELPHY CP1500 HTTP"
    *Product: (Canon SELPHY CP1500 HTTP)
    *ShortNickName: "Canon SELPHY CP1500 HTTP"
    *Manufacturer: "Canon"
    *NickName: "Canon SELPHY CP1500 HTTP-AirPrint"
    *Throughput: 1
    *cupsSingleFile: True
    *cupsFilter2: "image/urf image/urf 10 -"
    *cupsFilter: "image/urf 10 -"
    *cupsFilter2: "image/jpeg image/jpeg 0 maxsize(33554432) -"
    *cupsFilter: "image/jpeg 0 -"
    *cupsMaxCopies: 99
    *ColorDevice: True
    *APColorSpaces: true
    *DefaultColorSpace: RGB
    *cupsICCProfile Gray../Grayscale: "/System/Library/ColorSync/Profiles/Generic Gray Gamma 2.2 Profile.icc"
    *cupsICCProfile RGB../Color: "/usr/share/color/icc/Canon_Selphy_CP1500.icc"
    *OpenUI *ColorModel/Color Mode: PickOne
    *OrderDependency: 10 AnySetup *ColorModel
    *DefaultColorModel: RGB
    *ColorModel Gray/Grayscale: "<</cupsColorSpace 18/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice"
    *ColorModel RGB/Color: "<</cupsColorSpace 19/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice"
    *CloseUI: *ColorModel
    *LandscapeOrientation: Minus90
    *DefaultResolution: 300x300dpi
    *OpenUI *cupsPrintQuality/Quality: PickOne
    *OrderDependency: 10 AnySetup *cupsPrintQuality
    *DefaultcupsPrintQuality: Normal
    *cupsPrintQuality Normal: "<</cupsInteger1 4 /HWResolution[300 300]>>setpagedevice"
    *CloseUI: *cupsPrintQuality
    *cupsBackSide: Normal
    *DefaultOutputOrder: Reverse
    *APHasMediaReady: True
    *OpenUI *PageSize/Media Size: PickOne
    *OrderDependency: 10 AnySetup *PageSize
    *DefaultPageSize: Postcard
    *PageSize 54x86mm: "<</PageSize[153.0709 243.7795]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageSize 54x86mm.Fullbleed: "<</PageSize[153.0709 243.7795]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageSize 89x119mm: "<</PageSize[252.2835 337.3228]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageSize 89x119mm.Fullbleed: "<</PageSize[252.2835 337.3228]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageSize Postcard: "<</PageSize[283.4646 419.5276]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageSize Postcard.Fullbleed: "<</PageSize[283.4646 419.5276]/ImagingBBox null/Orientation 0>>setpagedevice"
    *CloseUI: *PageSize
    *OpenUI *PageRegion/Media Size: PickOne
    *OrderDependency: 10 AnySetup *PageRegion
    *DefaultPageRegion: Postcard
    *PageRegion 54x86mm: "<</PageSize[153.0709 243.7795]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageRegion 54x86mm.Fullbleed: "<</PageSize[153.0709 243.7795]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageRegion 89x119mm: "<</PageSize[252.2835 337.3228]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageRegion 89x119mm.Fullbleed: "<</PageSize[252.2835 337.3228]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageRegion Postcard: "<</PageSize[283.4646 419.5276]/ImagingBBox null/Orientation 0>>setpagedevice"
    *PageRegion Postcard.Fullbleed: "<</PageSize[283.4646 419.5276]/ImagingBBox null/Orientation 0>>setpagedevice"
    *CloseUI: *PageRegion
    *DefaultImageableArea: Postcard
    *DefaultPaperDimension: Postcard
    *PaperDimension 54x86mm: "153.0709 243.7795"
    *ImageableArea 54x86mm: "7.0866 18.1417 145.9843 225.6378"
    *PaperDimension 54x86mm.Fullbleed: "153.0709 243.7795"
    *ImageableArea 54x86mm.Fullbleed: "0.0000 0.0000 153.0709 243.7795"
    *PaperDimension 89x119mm: "252.2835 337.3228"
    *ImageableArea 89x119mm: "7.0866 9.6378 245.1969 327.6850"
    *PaperDimension 89x119mm.Fullbleed: "252.2835 337.3228"
    *ImageableArea 89x119mm.Fullbleed: "0.0000 0.0000 252.2835 337.3228"
    *PaperDimension Postcard: "283.4646 419.5276"
    *ImageableArea Postcard: "7.0866 10.4882 276.3780 409.0394"
    *PaperDimension Postcard.Fullbleed: "283.4646 419.5276"
    *ImageableArea Postcard.Fullbleed: "0.0000 0.0000 283.4646 419.5276"
    *ParamCustomPageSize Width: 1 points 150 289
    *ParamCustomPageSize Height: 2 points 241 434
    *ParamCustomPageSize WidthOffset: 3 points 0 0
    *ParamCustomPageSize HeightOffset: 4 points 0 0
    *ParamCustomPageSize Orientation: 5 int 0 3
    *CustomPageSize True: ""
    *OpenUI *MediaType/MediaType: PickOne
    *OrderDependency: 10 AnySetup *MediaType
    *MediaType photographic: ""
    *MediaType any/Any: ""
    *DefaultMediaType: photographic
    *CloseUI: *MediaType
    *APPrinterPreset Gray_with_Paper_Auto-Detect/Black and White: "
            *cupsPrintQuality Normal
            *ColorModel Gray
            com.apple.print.preset.graphicsType General
            com.apple.print.preset.quality mid
            com.apple.print.preset.media-front-coating autodetect
            com.apple.print.preset.output-mode monochrome"
    *End
    *APPrinterPreset Color_with_Paper_Auto-Detect/Color: "
            *cupsPrintQuality Normal
            *ColorModel RGB
            com.apple.print.preset.graphicsType General
            com.apple.print.preset.quality mid
            com.apple.print.preset.media-front-coating autodetect"
    *End
    
    Login or Signup to reply.
  2. On my Ubuntu 22.04 version, the printer has an (advanced) option that says "Borderless" and is by default set to "NO". This allows my CP1500 to print even on the sides, even past the perforated lines!

    EDIT:

    I followed the instructions to compile a newer version and the color profile is much better on the printer. Followed this one: https://www.peachyphotos.com/blog/stories/building-modern-gutenprint/

    ORIGINAL:

    I am new here and I cannot comment on seabeast. It might be useful to know that gutenprint has support for Selphy 1300 and can print on the 1500 (though some times it stops printing and I must restart the printer – looking into it).

    Instructions on an Ubuntu 22.04 LTS that worked for me are:

    Someone suggested to remove this ipp-usb

    # apt remove ipp-usb
    
    # apt install printer-driver-gutenprint 
    # apt install gutenprint53+usb
    

    In theory, you can now install your Canon selphy 1500 via the Ubuntu UI / printer properties.

    Afterwards, you can view the printer in command line

    # lpstat -s
    

    Should something like

    lpstat -s
    no system default destination
    device for SELPHY-CP1500: usb://Canon/SELPHY%20CP1500?serial=<SERIAL_NUMBER>
    

    Print a photo (supposing the name of the printer is SELPHY-CP1500)

    # lp -d SELPHY-CP1500 <filename>
    

    @seabeast Your PPD did not work for me. I would like to use the postcard settings of it but I’m not familiar enough with CUPS to modify things. Does your PPD work on Linux?

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search