[cups.general] Printer driver for Mac

Michael R Sweet msweet at apple.com
Wed Dec 3 09:52:52 PST 2008


Sebastian wrote:
>> On 2008 Dec 2, at 14:22, Sebastian wrote:
>>> http://developer.apple.com/referencelibrary/GettingStarted/
>>> GS_Printing/
>>> Following the link above I can read about the Mac OS X printing
>>> system for developers.
>>>
>>> Then at Wikipedia, reading about CUPS i found the following:
>>> "Apple Computer has used CUPS as printing system in their operating
>>> system Mac OS X from Version 10.2 (Jaguar) on."
>>>
>>> The link at developer.apple.com doesn't say anything about CUPS. So
>>> how is it? I'm looking for someone to develop a printer driver for
>>> Mac, am I looking for someone that knows CUPS?
>> OSX printer drivers have two components:  the lower level is CUPS, the
>> upper level is an OSX GUI.  For printer drivers, unless you need
>> special features, you can use a CUPS driver and the standard GUI.  If
>> the standard driver isn't enough, it will be necessary to write
>> something at the higher level (which will probably plug in as a pane
>> in the standard print dialog); the developer.apple.com link should get
>> you (or your developer) started on that.
>>
>> --
>> brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
>> system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
>> electrical and computer engineering, carnegie mellon university    KF8NH
>>
>>
> Thank you for the clear answer!
> 
> I'm working on a project (primarily for OS X) that involves printing and probably a custom made printer driver. We're at a stage where we're looking for developers and the question of who we need is whether we can achieve the desired result by just working in the upper level.
> 
> Roughly what we want is the following:
> 
> 1. A user installs our printer driver and during this installation enters login information.
> 2. The user prints from an application and a PDF is created.
> 3. The sign in information is validated and the PDF uploaded to our server.
> 4. The browser is opended. (Selection)

Please don't automatically open windows for the user - it is very
confusing for the user and steals the keyboard focus.  It is also a
very non-Mac experience...

> There is of course a little more to it and a few more different user scenarios so the solution must involve prompts and dialogs. For example, if the validation fails the user could get a dialogbox prompting the user for the correct sign in information.
> 
> As I see it we have three options:
> 
> 1. At low level write a CUPS backend that does everything. The question here is if it's possible/ appropriate to handle user inputs and UI releted tasks within a CUPS backend.

If all you need is authorization, use the stuff introduced in CUPS 1.3
(man backend) to tell CUPS and the local UI what you need.

> ...
> 3. Or we can divide the process in two parts. One, a more
 > standard printer driver that creates a PDF and execute a seperate
 > application. Two, the seperate application that handles the
 > validation, upload and everything else (Cocoa).

You can provide a PPD file that says your "printer" accepts PDF
directly, and then get a PDF file from the printing system to send
to the server via the backend.

If you are targeting Mac OS X exclusively, you can also do a PDF
workflow (which shows up under the PDF button in the print dialog)
and do everything in a user window instead.

-- 
______________________________________________________________________
Michael R Sweet                        Senior Printing System Engineer





More information about the cups mailing list