Convertire una pagina HTML in PDF

Nello sviluppo web, uno dei principali problemi a cui ancora non è stata trovata una soluzione open source definitiva è quello di convertire una pagina HMTL in formato PDF.
In questo articolo ho raccolto alcuni dei progetti che ho trovato in rete, che tentano di risolvere la questione, in maniere diverse.

Per primi indico due soluzioni sviluppate completamente in PHP, quindi ottimali per lo sviluppo web:

DOMPDFhttp://code.google.com/p/dompdf/

Ha delle grandi potenzialità e attualmente è il migliore progetto esistente.
È una libreria quindi può essere inserito in progetti pre-esistenti.

Pregi:

  • supporta la maggior parte delle proprietà CSS 2.1
  • supporta molti attributi HTML 4.0
  • supporta fogli di stile interni ed esterni
  • supporta tabelle complesse, ma non innestate
  • supporta le immagini (gif, png & jpeg)
  • non ha dipendenze da librerie PDF esterne

Difetti:

  • le tabelle non possono essere innestate
  • qualche difficolta con HTML mal formattato
  • i file grandi dimensioni possono richiedere del tempo
  • le liste ordinate non sono supportate

HTML2PS AND HTML2PDFhttp://www.tufat.com/s_html2ps_html2pdf.htm

È una applicazione web vera e propria.
È in grado di generare ps, pdf, png.
I maggiori difetti sono la lentezza e il supporto non pienamente completo ai CSS.

Altre soluzioni sviluppate in diversi linguaggi sono:

WKHTMLTOPDF (windows, linux, osx) – http://code.google.com/p/wkhtmltopdf/

È una applicazione standard che utilizza il motore WebKit per renderizzare le pagine (è lo stesso alla base del browser Safari). È disponibile per i principali OS.
Il mio giudizio è molto positivo. Il motore di rendering è davvero efficiente anche se non è immune da difetti, ma sicuramente superiore a tutte le altre soluzioni che ho provato.

WKPDF (osx) – http://plessl.github.com/wkpdf/

È un tool da linea di comando disponibile solo per OSX. Anche questo progetto usa WebKit per renderizzare le pagine.
Non l’ho testato personalmente, quindi non posso esprimere un giudizio.

PISA (python) – http://pypi.python.org/pypi/pisa/

È un tool da linea di comando scritto in Python.
Supporta HTML 5 e CSS 2.1, ma come molti altri progetti ha problemi con gli elementi float.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.