| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
Paul,
We are trying to get a custom PBM to build a printer that will invoke a
custom CUPS backend. By gleaning information from old TiogaDev postings and
from Printing postings we were indeed able to build printers using a custom
PBM.
Pass the following as CStringRef values for kPMPrinterURI (examples)
"pap://*/JSR_hot_folder2/LaserWriter" will build a valid 'AppleTalk' printer
"lpd://192.168.123.150/JSR_hot_folder2" will build a valid 'IP Printing'
printer
but trying the following to invoke a 'custom' backend called 'glilpd'
"'glilpd://192.168.123.150/JSR_hot_folder2" fails with a '1028' basic
catchall for something wrong with the syntax being passed back to Print Center
at printer creation.
How do we code the kPMPrinterURI so that it will build a printer that points
to a custom backend for processing?
"'glilpd://192.168.123.150/JSR_hot_folder2"
=====
Are the followng statements valid?
kPMPPDNameKey defined in PMTicket.h, CStringRef value = URI encoded
path/filename of PPD used to build printer
kPrinterLocation still not defined in any header, key is "Location", not
mandatory for printer creation, CStringRef value shows up in the 'Location'
field in the 'Printer Info' dialog displayed when the user selects the 'Show
Info' icon.
=====
Also by editing the contents of 'Printers.conf' directly and modifying an
existing 'lpd'-based printer to now be a 'glilpd'-based printer we were able
to invoke our backend successfully.
Custom 'glilpd' backend was resident in the '/System/Library/Printers/IOMs'
folder at the time Print Center failed to build the printer using custom
kPMPrinterURI value.
_______________________________________________
thanks,
John
email@hidden
=====
excerpt from mailing list, the basic recipe that we followed
To answer your question about GetSelectedPrinters, the rules are as
follows. For Tioga PMs, the dictionary returned by GetSelectedPrinters
must contain keys for the printer name (kPMPrBrowserSelectNameKey),
kind (kPMPrBrowserSelectKindKey), address (kPMPrBrowserSelectAddrKey)
and type (kPMPrBrowserSelectRefKey). It looks like your PBM is
following this rule. There's an additional rule for CUPS drivers. The
address key must be a dictionary containing the PPD name
(kPMPPDNameKey), the printer location (kPrinterLocation) and device URI
(kPMPrinterURI). It's important to note that we use the presence of
the PPD key to differentiate between Tioga and CUPS printer queues --
if the key is present, we set up a CUPS queue (for example, cgpdftops
-> pstops -> backend, or cgpdftoraster -> rastertoprinter -> backend,
etc.) but if the key is absent, we set up a Tioga queue (pdftopm ->
dev/null).
=====
_______________________________________________
printing mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/printing
Do not post admin requests to the list. They will be ignored.
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.