Features, pros and cons

The following features are valid for all generators:

  1. very light PDF files

  2. reduced processing time

  3. possibility to associate a CSS style file - does not affect the weight of the PDF file

  4. (limited) style definition for the header with class name header-body

  5. definition of page body style with class name page-body

  6. (limited) style definition for the footer with class name footer-body

  7. (limited) definition of watermark style with page-watermark class name (mPDF excluded)

mPDF (Ian Back library)

Features

fonts available

  • ginal Sans

  • Abyssinica SIL

  • Aegean

  • Aegyptus

  • Akkadian

  • Ayar

  • MPH 2B Damase

  • Dai Banna SIL Book

  • DejaVu Sans

  • DejaVu Sans Mono

  • DejaVu Serif

  • Dhyana

  • FreeMono

  • FreeSans

  • FreeSerif

  • Garuda

  • Jomolhari

  • KaputaUnicode

  • Khmer OS

  • Lanna Alif

  • Lateef

  • Lohit Kannada

  • ocrb10

  • Padauk Book

  • Pothana2000

  • Quivira

  • Sun-ExtA

  • Sun-ExtB

  • Estrangelo Edessa

  • Taamey David CLM

  • Tai Heritage Pro

  • TharLon

  • UnBatang

  • KFGQPC Uthman Taha Naskh

  • XB Riyaz

  • Zawgyi-One

Pros

  • quality (1-10): 6

  • similar to YetiForce engine

Cons

  • text-only watermark

  • the table header is always repeated at the page change: it cannot be managed

  • blocks, such as table cells, with a lot of text do not print continuously, but jump to the next page

  • blocks, such as table cells, with images do not print continuously, but jump to the next page

  • inserts blank compensation lines if the image jumps to the next page

  • problems with the style of nested elements

  • the repetition of the table header at the page change is not optimal

Snappy (wkhtmltopdf wrapper)

Features

available fonts
  • all fonts installed on the web-server

configuration via style of the repetition, at each page change, of the header and footer of the table
  • thead {display: table-thead-group}

  • tfoot {display: table-tfoot-group}

configuration via style of the header only at the top and footer only at the bottom
  • thead {display: table-row-group}

  • tfoot {display: table-row-group}

definition of a wrapper for the watermark image
  • the “text watermark” can be used to create a wrapper for the image by inserting the ###WMIMAGE### marker

Pros

  • quality (1-10): 7.5

  • good style rendering

  • possibility to correct anomalies by style

Cons

  • page number and total pages are not available in the page body

  • metadata (creator, author, title, subject, keywords) not available

  • blocks, such as table cells, with a lot of text do not print continuously, but jump to the next page

  • blocks, such as table cells, with images are not printed continuously, but jump to the next page: the image is not cut

  • inserts blank compensation lines if the image jumps to the next page

Headless Chromium (Google Chrome wrapper)

Features

available fonts
  • any imported font via CSS

    @font-face {
        font-family: myFont;
        src: url ('/var/www/html/yetiforce/fonts/myFont.ttf');
    }
    
repeating, at each page change, of the header and footer of the table configurable via style
  • thead {display: table-thead-group}

  • tfoot {display: table-tfoot-group}

header only at the top and footer only at the bottom configurable via style
  • thead {display: table-row-group}

  • tfoot {display: table-row-group}

wrapper definition for the watermark image
  • the watermark text can be used to create a wrapper for the image by inserting the ###WMIMAGE### marker

Pros

  • quality (1-10): 9.5

  • excellent style fidelity and print quality

  • possibility to correct anomalies by style

Cons

  • page number and total pages are not available in the body of the page and in the watermark

  • font type not available in the header and footer

  • metadata (creator, author, title, subject, keywords) not available

  • blocks, such as table cells, with images are not printed continuously, but jump to the next page: the image is not cut

  • some overlapping problems when the table footer is repeated at page change (this behavior can be disabled)