Comment by davoneus
3 years ago
I'd argue there is one, and it's been around a surprisingly long time: Internet Printing Protocol.
<insert XKCD reference here>
I've had to dig into this a fair bit at work, and it's rather amazing. Certainly not perfect, but basically printers which are certified for IPP Everywhere (Mopria for Android, Airprint for Apple) are required to have built-in format support for a set of given formats. For example, Mopria certification requires PCLm (a backwards-compatible subset of PDF, designed for streaming), PWG Raster and PDF. IPP Everywhere mandates PWG Raster, JPEG and PDF. Of course Apple being Apple, they have their own Raster format (urf). The printers can support more (and typically do), but they have to include the base. Also the formats (and capabilities) the printers support can be queried via standard IPP. (*)
That sounds complex, but it means that as long as the printer supports any of those standards, you have a good chance of printing to it). I've printed to some pretty strange, limited printers via IPP, and had surprisingly good luck doing so (mostly via raster-urf).
Apparently in Linux CUPS is going this way completely, and has recently added built-in on-the-fly conversion. So CUPS will query the printer, and then send documents in whatever format the printer supports. If it's an AirPrint certified printer, then it'll send raster-urf; if it's IPP Everywhere it might send PWG-Raster or PDF.
Certainly not perfect (as my testing has shown), but it's a heck of a lot better than what we had before. And I've heard that they now have a standard for 3D printing (3MF*) aiming to replace STL. Apparently developed with the Linux Foundation. I have no personal experience with it, but with the complexity of 3D printing, I'd not be surprised if it's still immature.
(*) https://openprinting.github.io/driverless/01-standards-and-t... (**) https://www.pwg.org/3d/
No comments yet
Contribute on Hacker News ↗