← Back to context

Comment by ValdikSS

10 hours ago

PDF is very, very complicated standard which can't be handled properly on tiny MCUs with reasonable performance and spec conformance:

    - 4 font formats
    - 9 image formats
    - blending with transparency
    - different colorspaces, each image could use its own on the page
    - different dithering algorithms, each image with its own
    - the page can have elements from another pages (global elements)

This is only a small part from the top of my head.

Common simple home printers absolutely should not accept regular PDF as an input: thanks to Apple and IETF we now have Apple Raster and PWG Raster for printers, as a part of AirPrint and IPP Everywhere/Mopria driverless printing standards, which are very similar but have slightly different options and headers. It's a simple raster input for printers specifically.

Some companies, such as HP, invented a "raster PDF": PCLm / PCLms. Don't be confused by the name, it's a regular standard-conforming PDF which contain nothing but a full-page JPEG on each page, and don't use any other features. It's created only to be able to open "printed page" (driver output) in a standard PDF viewer on a PC for debugging or business logging needs, but otherwise it's like a regular JPEG with additional per-page metadata.