5

A network postscript printer was manually configured to use the "Microsoft PS Class Driver" and it will print. However, the driver knows nothing about the printer, like resolution or duplexing (higher and possible, neither of which are represented in the "advanced" options with this driver.) The PPD file is in hand which contains all this information. Unfortunately there does not seem to be an option under properties or preferences that will accept that PPD. How on Windows 10 does one set this up? This printer has worked with that PPD going all the way back to WNT, but for W10, nope. Also following today's 1903 upgrade "add printers" no longer lists any manufacturers, only MS drivers, so picking a similar printer from that was not possible. (Note added: click the "windows update" button on the screen missing printer drivers and then Windows 10 will download and fill in the missing drivers. None named "generic postscript with PPD" though! Also, this "fill" does not persist, which is a PITA, because it takes a long time for the list to fill each time.)

Solved, sort of, at least for Windows 10 1903, until some other Windows change breaks it. See post 9 here:

https://www.tenforums.com/drivers-hardware/143467-postscript-printer-driver-can-use-ppd.html

In brief, install the "HL-5250DN BR-Script3" driver, then deletes is BPD and replace its PPD file with the one for the desired printer, but retain the BR5250_2.PPD name, reboot to generate a new BPD. Then make some change to the printer's device settings so that the real properties will be read out of the PPD. Finally figure out the mapping of the Brother's tray names to your printers and set up the trays appropriately.

1
  • It is said that the printer is compatible with the Epson CL_700.
    – harrymc
    Jul 15, 2021 at 16:08

2 Answers 2

3

Both reliable OS - macOS and Linux - use the CUPS printing subsystem. In past Adobe offered for MS-Windows up to XP the AdobePS driver which was perfect way for Postscript output oriented graphic programs. As described here Adobe colaborate with MS to create a Windows Postscript driver, what finaly included the PSCRIPT5.DLL as a part of MS-Windows instalation. You can now use this correct PS driver in MS-Windows-10 by Create a new printer; Local or Network manualy; Choose existing or Create a new Port; Vendor: Generic, Printer: MS Publisher Color Printer (or Imagesetter - for some other features); give it the name and finish.

To complete the job, you have to make a changes in the folder: C:\Windows\System32\spool\drivers\x64\3\ where you have to delete both files: MSGENCOL.PPD and MSGENCOL.BPD, and then rename your myprinter.ppd file to MSGENCOL.PPD and move it in the folder.

Caveat: Carefully read and set up the features that you can find in the Printer Property ; for example the parameter: TrueType Fonts - do not use Substitute with Printer Fonts , but use Include (or Send) the Font!

Eventualy, if you know what you do, you can create your own PPD file with your features and defaults, for example to print PDF files to file.

With this Printer driver, you can unify the driver behaviour on your heterogeneous computer network (macOS, Linux, MS-Windows) and direct all your printer jobs to GhostScript server and its intelligent spools nad queues.

4
  • Looks like it doesn't work on latest windows 10 anymore, it complains about the driver not being correctly installed, wants to be reinstalled again. A reboot did not fix the issue :( Mar 9, 2021 at 18:29
  • I am sorry, I cannot reproduce this issue, because I use MS-W10 in virtual machine with snapshot hence it remains in 1511/10586 build. I can try with experiments on weekend. Then I'll can say more.
    – schweik
    Mar 11, 2021 at 14:12
  • It might be that my PPD is malformed, though (generated by CUPS) Mar 11, 2021 at 16:17
  • Try to verify your PPD with cupstestppd (on a .NIX OS).
    – schweik
    Mar 12, 2021 at 17:38
0

The official from Microsoft intended way seems to be to create an inf file that references the ppd file, create a cat file from the inf file and than sign that cat file. However this requires either an officially recognized certificate or a selfsigned one, which then has to be imported into the trusted publisher certificate stores of all computers which want to use that driver.

See this woshub article on how to create a cat file and self sign it. This answer explains it as well, but without the self-signing aspect. To see the format of the inf file, you can for example look at the inf file that is included under /lib in the ghostscript distibution (also contains a signed cat file to install the ghostscript printer).

If all that seems to complicated, and you have just one printer you want to use with a custom ppd, you can (as described in schweiks answer) just use the MS Publisher Color Printer and replace its ppd file.

If you have multiple printers with different ppd files, it actually seems to work to just add the drivers directly to the registry via a reg file like this:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\FreePDF-XP]
"Dependent Files"=hex(7):50,00,53,00,43,00,52,00,49,00,50,00,54,00,2e,00,4e,00,\
  54,00,46,00,00,00,00,00
"Configuration File"="PS5UI.DLL"
"Data File"="freepdfxp.ppd"
"Driver"="PSCRIPT5.DLL"
"Help File"="PSCRIPT.HLP"
"Monitor"=""
"Datatype"="RAW"
"Previous Names"=hex(7):00,00,00,00
"Version"=dword:00000003
"TempDir"=dword:00000000
"Attributes"=dword:00000000
"Manufacturer"=""
"OEM URL"=""
"HardwareID"=""
"Provider"=""
"Print Processor"=""
"VendorSetup"=""
"ColorProfiles"=hex(7):00,00,00,00
"Base Driver"=""
"PrinterDriverID"=""
"App Registration"=hex(7):00,00,00,00
"InfPath"=""
"PrinterDriverAttributes"=dword:00000000
"LastServicedBuild"=dword:00004a64
"CoreDependencies"=hex(7):00,00,00,00
"DriverDate"="01/01/1601"
"DriverVersion"="0.0.0.0"
"MinInboxDriverVerDate"="01/01/1601"
"MinInboxDriverVerVersion"="0.0.0.0"


Thats just the registry key of another postscript printer driver exported, InfPath set to empty string, Data File set to your ppd file name and the Name of the registry key itself set to the Name you want for your driver.

Copy the ppd file manually to C:\Windows\System32\spool\drivers\x64\3. To get the remaining files (pscript5.dll, ...) install the MS Publisher Color Printer. You probably need to restart the spooler service, as otherwise the the new driver won't be detected.

Note that this is definitely not a Microsoft recommended way to install a printer driver.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .