HTML and CSS are built for web pages, which means they don't really have a strong concept of page size. If I want to build a table with headers that repeat on every page of a printed document, it's an absolute pain to do it with HTML and CSS.
You need something with constructs that can express pages, repeated tables, headers and footers, stuff like that in a much more native format.