[cups] Trying to work around Canon MF743cdw driver bugs on MacOS Catalina

Brian Demsky bdemsky at gmail.com
Sat May 16 15:27:24 PDT 2020


Tried all the options.  Options 2 and 3 did not work (still had boxes printing).  Option 1 works, but gives me no control over whether to print in color or black and white.  Are there any print drivers that use PDF as a target and do the conversion to B&W on the host?

I also tried hacking together a test shell script to use a printer filter that just turns around and calls the real print filter for now.  CUPS refuses to run it.  Is there a reason or trick?  It seems to me that if I can build a filter chain that renders the input to a bitmap and back to PDF, then it should print fine with the canon print driver.

BTW, did you manage to get the PDL format out of the canon print driver?  How does that work?  Is it a pdf like format or more of a bitmap like format?

Thanks,
Brian

> On May 16, 2020, at 5:04 AM, Helge Blischke <helgeblischke at web.de> wrote:
> 
> 
> 
>> Am 16.05.2020 um 10:52 schrieb Brian Demsky <bdemsky at gmail.com>:
>> 
>> I found an interesting potential direction.  If I hack PPD file to just dump the raw pdf to the printer, it prints correctly.  So I guess the Canon printer actually supports pdf natively despite that this is not an advertised feature.
>> 
>> The only issue is that it looks like all the options are controlled by the Canon cgpdftopdl file.  In particular, I would like to have the option to print in black and white instead of color.  Any suggestions?
>> 
>> Brian
> 
> There are two variants to modify the PPD:
> 
> (1)	bypass the capdftopdl filter completely: 
> 	change the line
> 	*cupsFilter: "application/pdf 0 /Library/Printers/Canon/CUPS_Printer/Bins/capdftopdl“
> 	to
> 	*cupsFilter: „application/vnd.cups-pdf 0 -“
> 	and delete the lines starting with 
> 	*cupsFilter2:
> 
> 	But this modification causes all PPD related option settings short of PageSize and Resolution to act as a no-op, but should prevent the empty character boxes,
> 	as the input PDF will be processed by Apple’s cgpdftopdf filter first.
> 
> (2)	apply both the cgpdftopdf and capdftopdl filters to the input PDF:
> 	change the line
> 	*cupsFilter: "application/pdf 0 /Library/Printers/Canon/CUPS_Printer/Bins/capdftopdl“
> 	to
> 	*cupsFilter: „application/vnd.cups-pdf 0 /Library/Printers/Canon/CUPS_Printer/Bins/capdftopdl“
> 	and delete the lines starting with
> 	*cupsFilter2:
> 
> 	This modification needs to be tested; my proposal is based on the fact that my fake-printer output didn’t exhibit rendering issues on the computer display,
> 	but that dies not guarantee that it works with the real printer.
> 
> (3)	you could try to change the line
> 	*DefaultCNGraphicsMode: VectorMode
> 	to
> 	*DefaultCNGraphicsMode: ImageMode
> 
> 	Alternatively,, this is easily done by the lpadmin or lpoptions utility of ba the CUPS web interface (provided it is enabled).
> 	The ImageMode will (hopefully) convert the input to a raster file and print that.
> 
> I’d start trying with variant 3 first.
> 
> Helge
> _______________________________________________
> cups mailing list
> cups at cups.org
> https://lists.cups.org/mailman/listinfo/cups



More information about the cups mailing list