clojure-uk 2026-01-23

Good Morning!

Does anyone have any good recommendations for HTML to PDF utility for running on Debian (Trixie)?

This one: https://wkhtmltopdf.org/, is no longer active.

That's what I would have suggested. Didn't know it had become inactive:confused:

And... morning! The forecast is warming us of "snowmageddon" - 7-12" on Sunday. But at least we should be some way north of the ice storms...😬

@dharrigan - Is this to run headless and programatically or for your desktop / workstation setup?

headless, within a container, for generating PDFs from Hiccup (to HTML)

I'm currently using wkhtmltopdf, but looking around for similar supported tech

OK, I will go back and look at my notes, but to be transparent I have not had to solve this problem for a while, so I am going to assume that I am behind the curve. I am curious to see if anyone else who is more current comes up with interesting solutions / tech and even if not I am curious to see what you end up on, as this is something that comes around again and again in my life... 🙂

👍 1

I have nothing more current than wkhtmltopdf to offer... I had a little Google sess; have you seen this: https://apitemplate.io/blog/html-to-pdf-on-linux-best-commands-and-tools/ ignore the cloud service that they are selling, and just focus on the using Chromium in headless mode on the command line..? I think that this is what I would do, FWIW, but clearly YMMV

There may be mileage in using Weasyprint, possibly via a Clojure / Python bridge...? if you don't want to use Python (could relate)

Thanks, will have a looksee 🙂

Morning All 🏴󠁧󠁢󠁳󠁣󠁴󠁿

In case anyone here is not in the #events channel...

As another experiment I'm trying out, I'm deploying customised JREs, built from running jdeps and jlink over the generated uberjars.

So far, seems okay 🙂

🤯 1

Oh, and another thing I'm doing atm is writing "modern" java, with all those vars, streaming and records 😉

to try writing a little internal stress tester for websockets 🙂

@dharrigan Is your employer a Java shop then? Or is this "just for fun"?

Just for fun. I wanted to challenge myself to write modern java, given that it's been years since I wrote any java

Modern Java isn't bad. It's a huge improvement over legacy Java.

Totally agree, it's actually quite terse!

I used to code in Kotlin before Clojure, so it was interesting to see how Java has moved on

Ah, I quite like Kotlin but never did much more than learning the basics... and write this: https://github.com/seancorfield/boot-kotlinc

Hahaha... last update 2017-11-28... over eight years ago!

haven't visited it in 5 years, no idea if it still works or not

(probably safe on the clojure side, not so sure about the kotlin side)

Yup:

(!2017)-> clojure -T:build run
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by net.rubygrapefruit.platform.internal.NativeLibraryLoader in an unnamed module (file:/home/sean/.gradle/wrapper/dists/gradle-7.2-bin/2dnblmf4td7x66yl1d74lt32g/gradle-7.2/lib/native-platform-0.22-milestone-21.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled


BUILD SUCCESSFUL in 4s
7 actionable tasks: 7 executed

Running task for: run
Hello Clojure World! 25.0.1
Hello Kotlin World! 25.0.1
Good Boy Biscuit
Woof Woof!
HOW MUCH IS THAT DOGGY IN THE WINDOW?
nil

(I added a println of java.version since initially it failed to build with JDK 26 EA)

w00t 😉

We can check again in another 5 years 🙂