Come convertire documenti HTML in PDF lato server con “htmldoc”

Introduzione

Htmldoc è un programma scritto in C, distribuito con doppia licenza (GPL: solo sorgenti, commerciale: binari e sorgenti con supporto) che permette di convertire documenti html in PDF. Il programma può funzionare in tre modalità:
  1. riga di comando
  2. GUI (windows e Linux)
  3. pipe (comodo per lo scripting lato server)
Visita il sito web del progetto.

Ho fatto qualche esperimento e le prime impressioni sono buone:

Pregi:

  • Velocissimo
  • Open source e gratuito, se lo compili da solo
  • È possibile specificare header, footer ed eventuali loghi o immagini di sfondo
  • Supporta le tabelle innestate (con qualche limitazione)
  • Supporta l’allinamento per le immagini in linea, cioè il testo fluisce attorno all’immagine

Difetti:

  • Non permette di includere font non standard
  • Non supporta stili e CSS, però permette di formattare l’HTML con i vecchi tag FONT e BGCOLOR
  • Non supporta la ripetizione sulle intestazioni delle tabelle

Installazione e compilazione

L’installazione è abbastanza semplice, occorre scaricare i sorgenti, scompattarli e lanciare make seguito da su -c "make install"

Un esempio a riga di comando

echo "<h1><font color="red">Ciao mondo</font></h1>" | htmldoc --no-compression -t pdf14 --quiet --jpeg --webpage --bodycolor '#aaaaaa' --color - > htmldoc_test.pdf Fai clic qui per vedere il risultato.