3 ms·
Oh goodness. Let's talk about web-based print. Over the decades, we've gone from non-web typesetting like troff/nroff/groff-t, TeX to first-gen DTP like InterL
by MilStdJunkie 3y ago
Oh goodness. Let's talk about web-based print.
Over the decades, we've gone from non-web typesetting like troff/nroff/groff-t, TeX to first-gen DTP like InterLeaf to often-deceptively-marketed XSL toolchains [0] to vendors like Prince.
Somewhere in there, W3C created Paged Media Module Technical Group for CSS3, which would - someday!! - integrate CSS @media calls to support true typesetting and layout . . just from the web! Wow!
Oh wait . . that was around 2004.
So, since the PMM TG has been, I don't know, making paperclip men for two decades[1], others have taken that bull by the horns and implemented their own web print systems. Or selling them, for . . for a LOT of money; Prince is basically a closed-source CSS PMM implementation.
Disclaimer: I use Asciidoc for everything, so asciidoctor-web-pdf comes to mind. It's built on Paged.JS/Puppeteer (https://pagedjs.org https://pagedjs.org), so issues might lag because of the Puppeteer dependency. On the plus side, it's integrated into Antora (https://antora.org/ https://antora.org/), so, hey, hello git-based pdf scheduler. How ya doin?
Back in the day, FlyingSaucer was the tech for web print; I've seen and wrenched it in a dozen different S1000D stacks. Its current incarnation is the ubiquitous openhtmltopdf and its descendants, it still has huge adoption in the Android ecosystem.
ReLaXed is the father of all JS web print implementations, but it's been dormant for awhile. I wouldn't use it directly. Besides, most of it lives on in Paged.js and others.
Vivliostyle is another great implementation on JS , based on the Chromium renderer rather than riding hard on Puppeteer. It's also got a really great widget that allows you to mark up HTML pages for reviews. Very neat.
Sorry, WeasyPrint. You're rad, but you're on Python, and none of my customers have been cool with that. If Python is cleared for your environment though, check it out. The svg handling is tight.
[0] I'll talk about that later. Let's not go into the afternoon angry.
[1] OK OK, I get it: the user base for web-pdf is always tiny in comparison to web frameworks. Most of the rest of the world has moved on from complex print, and, I mean, seriously, why not? HTML + JS + CSS does anything, and without Acrobat, and with control over load, AND without conditionals for print focused stuff, like trimming SVGs, or color profiles, or a million other things. AND AND AND. BUT. Aerospace, though, we're a print-focused business, we need the dead tree simulator. And so I've been riding this stupid donkey for twenty years now.