Enabling Personal Printer Data Stream (PPDS) on a Lexmark MS510dn is pretty well hidden. None of the first two suggestions by Lexmark worked on this model. (Suggestion 1, suggestion 2.)

You need to send the printer a PJL command like this one:

00000000  1b 25 2d 31 32 33 34 35  58 40 50 4a 4c 20 44 45  |.%-12345X@PJL DE|
00000010  46 41 55 4c 54 20 4c 50  50 44 53 3d 4f 4e 0a 1b  |FAULT LPPDS=ON..|
00000020  25 2d 31 32 33 34 35 58                           |%-12345X|

Why on earth can’t this option be available in the menus with the factory settings in effect? Shame on you, Lexmark!

In my case I needed to print PPDS output from a legacy MS-DOS application controlling a universal testing machine (aka tensile testing and testing compressive strength). The original Epson laser printer was simply too old with no spare parts available, not to mention any toner cartridges, and investing NOK 500,000, roughly USD 85,000, in a new controller and software was pretty much ruled out.

The solution was to transfer the legacy application to a stand-alone computer running Windows XP. Connect the MS510dn printer to the computer using a USB cable. Enable sharing of the printer, e.g. \\computername\printername. Edit the C:\Windows\System32\autoexec.nt file to attach the shared printer as LPT1 whenever running a legacy MS-DOS application:

net use lpt1 \\computername\printername

I also needed to adjust the printer’s input timeout from 90 seconds to something more efficient like 15 seconds using the web interface as this legacy application doesn’t flush its output. My God, are software engineers this ignorant regarding peripheral devices?

PPDS was finally enabled using this command:

copy /b enus1832Ppdson.pjl lpt1: