Postscript printer description files (PPDs) describe Adobe Postscript (PS) printers’ capabilities, thus being useful both for print queue servers and printing clients. Are there equivalents for other page languages, such as Microsoft Graphics Device Interface (MS GDI), Epson Esc/P2, Hewlett-Packard Printer Control Language (HP PCL) or IBM AFL?
CUPS actually uses PPDs for both PostScript and non-PostScript printers. For that purpose, CUPS extends the Adobe PPD standard: see https://www.cups.org/doc/spec-ppd.html
I don't know of any other standardized printer description file formats that would have been widely used. Some printer vendors may have something similar, but those are probably intended to be used by that vendor's "universal" printer drivers only, and not publicly documented.
Roughly 95% or more of all (network-capable) printers sold in the last ten years on the market for SOHO (small office, home office) or general business printing needs are now supporting the Internet Printing Protocol.
(Think about AirPrint -- it wouldn't work without IPP. Also, more than half of these IPP-capable printers can consume PDF natively and print it without problems....)
That means, you can send printable jobfiles to them over an IPP channel via port 631, just as you used to send jobs via AppSocket (also named JetDirect by HP) mostly via port 9100.
But there's more to IPP: IPP means you can query a print device (or any IPP-enabled printserver queue, such as CUPS) about all its capabilities. In IPP parlance: you are doing a
See this answer here:
- Printing using IPP without drivers (IPP Client) (on StackOverflow)
for examples on how to accomplish the query of an IPP-capable print device using the IPP Sample Software of the ISTO Printer Working Group (PWG).