211
Applications / Re: Problems Installing a PPD for PM
« on: November 11, 2018, 02:09:51 am »
Thanks Roberto, Lars, and Pete for your help.
My problem (or one of my problems) was I didn't understand that PIN.EXE needs an existing printer driver in order to process the PPD file. And as Lars pointed out, you can't run it in the directory (and probably shouldn't anyway) where it is installed because it will be locked if any application has loaded it.
What I eventually figured out is you have to point PIN to an already existing printer driver file (psprint.drv) or it will fail. The steps that worked for me
copy c:\os2\dll\psprint\psprint.* f:\temp\driver
copy my.ppd f:\temp\ppd
pin ppd f:\temp\ppd f:\temp\driver\psprint.drv
use Manage Printers to Add.Update PSPRINT.DRV
The ideal solution is to use the Manage Printers object to directly install the PPD. Unfortunately on my machine (ArcaOS) the Install PPD option of Manage Printers fails with an error, which is why I was using PIN.EXE. (I will note Install PPD works in eCS 2.2)
But with CUPS installed the other option is to simply install a CUPS printer for the PPD using the -Custom- -- Other Printer (requires PPD) -- option. That automatically imports the PPD to PSPRINT.DRV and creates a printer object in the Printers folder with its output port pointing to CUPS. Very nice, very slick. (I wish I was smart enough to have thought about that a couple of days ago.) Then I can install another printer using the newly imported PPD that has been created in PSPRINT.DRV
As Pete pointed out earlier you don't need CUPS if you are using a postscript printer. But having CUPS (once I figured it out) makes installing a new PPD very easy. Plus qpdfview (tabbed PDF viewer) prints directly to CUPS so you need CUPS to print from that application. I image there are other Qt based apps that will only print directly to CUPS, so you will need CUPS for those even with a postscript printer.
The one problem I have is specifying single side or duplex on an individual print job when printing to CUPS through a PM printer object doesn't work. The printer uses the duplex setting from CUPS regardless of what you specify on the print job - when printing through a PM print object. qpdfview, whichs prints directly to CUPS, does handle the duplex setting correctly. Which is one reason why you need a print object that outputs through lpr or appsocket in addition to the CUPS printer object.
My problem (or one of my problems) was I didn't understand that PIN.EXE needs an existing printer driver in order to process the PPD file. And as Lars pointed out, you can't run it in the directory (and probably shouldn't anyway) where it is installed because it will be locked if any application has loaded it.
What I eventually figured out is you have to point PIN to an already existing printer driver file (psprint.drv) or it will fail. The steps that worked for me
copy c:\os2\dll\psprint\psprint.* f:\temp\driver
copy my.ppd f:\temp\ppd
pin ppd f:\temp\ppd f:\temp\driver\psprint.drv
use Manage Printers to Add.Update PSPRINT.DRV
The ideal solution is to use the Manage Printers object to directly install the PPD. Unfortunately on my machine (ArcaOS) the Install PPD option of Manage Printers fails with an error, which is why I was using PIN.EXE. (I will note Install PPD works in eCS 2.2)
But with CUPS installed the other option is to simply install a CUPS printer for the PPD using the -Custom- -- Other Printer (requires PPD) -- option. That automatically imports the PPD to PSPRINT.DRV and creates a printer object in the Printers folder with its output port pointing to CUPS. Very nice, very slick. (I wish I was smart enough to have thought about that a couple of days ago.) Then I can install another printer using the newly imported PPD that has been created in PSPRINT.DRV
As Pete pointed out earlier you don't need CUPS if you are using a postscript printer. But having CUPS (once I figured it out) makes installing a new PPD very easy. Plus qpdfview (tabbed PDF viewer) prints directly to CUPS so you need CUPS to print from that application. I image there are other Qt based apps that will only print directly to CUPS, so you will need CUPS for those even with a postscript printer.
The one problem I have is specifying single side or duplex on an individual print job when printing to CUPS through a PM printer object doesn't work. The printer uses the duplex setting from CUPS regardless of what you specify on the print job - when printing through a PM print object. qpdfview, whichs prints directly to CUPS, does handle the duplex setting correctly. Which is one reason why you need a print object that outputs through lpr or appsocket in addition to the CUPS printer object.