fckwkhtmltopdf
8
- Qt (verouderd en WebKit benodigd om te compileren
- Beiden zware code bases
- Moeilijk om de nieuwste versies te verkrijgen
- Veel issues worden niet opgelost
7
- Erg langzaam
- Native PDF libraries vaak sneller
- Eenmaal gestart, is het de vraag hoeveel resources (geheugen) gebruikt worden
- Dramatisch voor verouderde machines met te weinig RAM
6
- Headers en footers in complete, losse HTML-bestanden
- Verschijnen op elke pagina
- Footnotes? Succes (JavaScript)
- Boek of magazine met even/oneven pagina's...
5
- Landscape kan, maar het is alles of niets
- CSS Paged Media spec heeft syntax
- Niet ondersteund door wkhtmltopdf
4
- Slecht gedocumenteerd
- Moeilijke toegang tot locale resources
- file:// URL's of paden voor locale content?
- Zoeken in GitHub issues
- Base64 encoded embedded resources (grote font bestanden)
3
- Dramatische kerning
- Al 4 jaar een open issue
- De typo-fans trekken wit weg
2
- Dramatische font support
- Webfonts gaat prima
- Meerdere font types onder 1 family niet
- Nederlands en Japans door elkaar? Meerdere font files
- Fontconfig is de oorzaak tussen verschil in development en productie
1
- JavaScript voor paginanummers!
- Magische strings in plain text headers en footers
- JavaScript snippet op elke pagina uitvoeren onload
- Tegenstrijdig met de Paged Media spec
- Slecht gedocumenteerd
Alternatieven?
- PDF is bejaard (1993)
- Open standard in 2003
- wkhtmltopdf zou te vermijden moeten zijn?
chrome headless pdf
- Gebruiken we nog niet echt?
- Styling issues?
Rijk?
- Paged Media support
- Extra features zoals JavaScript, andere formaten, MathML ondersteuning, CSS3 ondersteuning (i.p.v. 2.1)
- > $2800 per server
Prawn
- Werkt nog steeds
- Kan sneller zijn dan het steeds opstarten van een proces
- Hele beperkte styling, betere font handling
HexaPDf
- Aardige concurrent
- In progress
- Meer mogelijkheden dan alleen text boxes
- Ontbreekt nog veel (bijv. geen table layout)
WKHTMLTOPDF wrappers
- wicked_pdf en vergelijkbaar
- Interface voor wkhtmltopdf, wrapper om de command line options
Weasyprint
- BSD-licensed Python oplossing
- Visual rendering engine
- Gebaseerd op een aantal libraries, maar niet op een volledige render engine zoals WebKit of Gecko
- CSS layout engine is geschreven in Python
Installatie...
- Python, cairo, Pango and GDK-PixBuf
- WeasyPrint installeren met pip
-
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
-
python get-pip.py
-
brew install python3 cairo pango gdk-pixbuf libffi
-
pip install WeasyPrint
-
gem install weasyprint (oei)
DEMO
fckwkhtmltopdf
By Dimitri Snijder
fckwkhtmltopdf
- 30