I am searching an alternative to latex.

The software should be used to create coloured invoices (PDF) for the gas and electricity industry.

I know that latex is great for math, but in this case it does not fit.

Latex is too clever and wants to do the things occurding to the latex rules.

But in my case I just want the output to look like the customer wants it to be.

Required features:

  • open source
  • Support for latin1
  • Support for unicode would be great
  • creates PDFs (DIN A4)
  • works on linux without gui
  • text based, not GUI based (libreoffice is not a solution)
  • Support for tables which span several pages. Table headers should occur on the second page again.
  • 1
    For JavaScript, I did all this and more, using the excellent, free, jsPdf Auto-table. If necessary, you could kludge that to run in a headless browser. Failing that, I am sure that the incomparable @SteveBarnes can recommend a Python module :-) Sep 19 '18 at 7:28


"Convert your SVG files to PDF and PNG."

homepage, source code: Python with some non-python library dependencies (e.g. cairo2), rendering engine: cairo2, license: LGPG-3.0


"A command line tool to generate PDF from URL, HTML or Markdown files with electron."

source code: JavaScript, rendering engine: Chromium (Blink), license: MIT


"WeasyPrint is a smart solution helping web developers to create PDF documents. It turns simple HTML pages into gorgeous statistical reports, invoices, tickets…"

home page, docs, samples, source code: Python, license: BSD


wkhtmltopdf and wkhtmltoimage are open source (LGPLv3) command line tools to render HTML into PDF and various image formats using the Qt WebKit rendering engine. These run entirely "headless" and do not require a display or display service.

home page, command line (scripting) docs, source code: C/C++, rendering engine: WebKit, license: LGPLv3

Web Browsers, Headless

In the category of headless browsers, there are several candidates which could also be considered for HTML to PDF generation.

For example, ...

Chromium, Chrome

chromium-browser \
  --headless \
  --disable-gpu \
  --print-to-pdf="path/to/file01.pdf" \

### also works with a local file input URL
# file:///some/path/to/source_file.html

/Applications/Chromium.app/Contents/MacOS/Chromium \
  --headless \
  --disable-gpu \
  --print-to-pdf="some/path/file01.pdf" \
  • Thank you very much for these links. I just myself: Why are there no solutions based on the chrome rendering engine. Now that even microsoft will use it.
    – guettli
    May 3 '19 at 8:01
  • 1
    @guettli added some candidates which use the Chrome/Chromium rendering engine Blink.
    – l --marc l
    May 3 '19 at 19:54

Pandoc (https://pandoc.org/) will create PDFs from Markdown text and other formats. Sphinx (https://www.sphinx-doc.org/en/master/) is similar, but uses reStructuredText as input and is more customizable--you can define CSS to control layout, colors, and other style elements.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.