Il rendering di HTML in Swing si basa sotto-sotto sulle classi nel package javax.swing.text e sottopackage html / html.parser, quindi gli EditorKit, Document, ViewFactory/View, ecc...
Sicuramente si può anche usare direttamente ma ... non è certo la API più facile e chiara da usare.
In alternativa si potrebbe usare un JEditorPane che contiene HTML e poi "stamparlo" sfruttando il suo getPrintable ma comunque sarebbe tutto da valutare e sperimentare.
Altrimenti cercare altre librerie di rendering di HTML. Di più non saprei ora.![]()