...These vary from invoices with highly customizable layouts to reports with tables, graphs and images. In our opinion, the best way to do this was by using HTML/CSS templates as a source for our PDFs. Using CSS print media types and millimeters instead of pixel units we can generate very accurate PDF documents using wkhtmltopdf. It takes care of setting the correct order of options as these can become very long with multiple pages where you have page and TOC options for each page. It makes usage in server-type applications easier, every instance (PDF process) has its own output buffer which contains the PDF output and you can feed one input document from an io.Reader (using stdin in wkhtmltopdf). ...