People here on HN recently recommended Typst as a replacement for LaTeX, but I haven't tried it myself yet.
It's not ideal, but when there isn't a good option isn't available in .NET it's usually available in Python/npm. Typically I'll use background jobs when calling out of process for added resiliency/replayability and observability.
Python and others have similar issues, with them having limitations as well
Which use-cases needing Qt WebKit is an issue?
I am going to look into switching to MigraDoc and see if i can drop puppeteer
Thanks for this great research!
* Scriban to fill in templates (LaTeX)
* Custom Angular SSR to reuse frontend components (charts etc)
* Playwright to convert SSR output to PDF
* LuaLaTeX to convert LaTeX document + stuff to PDF
Super slow, but very high quality results. Do not try this at home!Scriban is totally awesome though.
There is a lot of work in a good PDF library, expecting to get it for free feels unreasonable to me.
I've been making my reports in self-contained HTML files[0] and it works out so much better than PDF. It is not constrained by paper sizes, and it lets me add some nifty features. For example, I recently added support for hiding columns in a table using exclusively CSS. The only downside is browsers can render things slightly differently, but for my use cases I don't need pixel-perfect identical rendering.
[0] Images are inlined base64-encoded, CSS/JS embedded with style and script tags. No external assets / no http requests.
https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Medi...
So yeah I too was looking for permissive licensing. The worst part is now its drastically harder for me to suggest any paid alternatives because we don't know that the alternative wont hike up prices on us. It's a really awful spot to be in.
actionfromafar•1w ago
IMHO the list is incomplete without it.
1: https://github.com/ststeiger/PdfSharpCore
eXpl0it3r•1w ago
Latest MigraDoc & PDFSharp seem to have been updated and ported to .NET 6 after a lot of the forks happened, so it was unclear to me whether there's merits in looking at other, mostly abandoned forks.
I might add PdfSharpCore, though the use of SixLabors.ImageSharp and SixLabors.Fonts leads to a disqualification from the "quest", given their custom split license [1]
Edit: Actually, the license seems to turn into an Apache 2.0 license, when used with an open source licensed project and also as transitive dependency. Certainly a confusing license.
[1] https://github.com/SixLabors/ImageSharp/blob/main/LICENSE
actionfromafar•1w ago
https://web.archive.org/web/20251104163604/https://codeload....
eXpl0it3r•1w ago
Though, makes me wonder how much "old code" this is then collecting...