Conversione html2pdf con DomPDF classe PHP5 con supporto CSS 2.1

domenica, luglio 5, 2009 12:50 scritto da neryo

Dopo aver parlato tempo fa della classe Html2pdf che utilizza webservices esterni per la conversione runtime dei pdf da tramite html, voglio presentarvi un altra classe PHP 5, per la creazione di PDF da sorgente HTML. Si chiama DomPDF un converitore che ha il completo supporto ai CSS 2.1 e grazie al motore di rendering OSPdf, migliorato in termini prestazionali, non ha nessuna dipendenza di pacchetti sul server. Esiste comunque la possibilita’ di utilizzare il supporto su altri motori di rendering alternativi come PDFlib e ClibPDF,  oppure un rendering di tipo immagine tramite GD.

Features:

  • supporto alla maggior parte delle proprieta’ e dei selettori CSS2.1, inclusi @import, @media & @page.
  • supporto alla maggior parte degli attributi presentazionali  HTML 4.0.
  • supporto all’inclusione di CSS esterni.
  • supporto a tabelle complesse inlcuso i colspan, collapsed border, stili sulle celle ecc.. a parte le tabelle annidate.
  • supporto alle immagini (png, gif & jpeg).
  • nessuna dipendenza alle librerie esterne pdf.
  • supporto a link e ancoraggi.
  • supporto alla scrittura di php per caricare dinamicamente dati nei template html.

Limitazioni

  • mon supporta tabelle innestate.
  • non supporta gli elenchi ordinati.
  • posizioni assolute e relative non funzionano ancora.
  • non tollera errori di sintassi html e css.
  • file di grosse dimensioni e tabelle grandi impiegano parecchio tempo ad effetture il rendering.

Un semplice esempio di utilizzo:

  1.  
  2. < ?php
  3. require_once("dompdf_config.inc.php");
  4.  
  5. $html =
  6.   ‘<html><body>’.
  7.   ‘<p>Put your html here, or generate it with your favourite ‘.
  8.   ‘templating system.</p>’.
  9.   ‘</body>’;
  10.  
  11. $dompdf = new DOMPDF();
  12. $dompdf->load_html($html);
  13. $dompdf->render();
  14. $dompdf->stream("sample.pdf");
  15.  
  16. ?>
  17.  

Sito di riferimento:
http://www.digitaljunkies.ca/dompdf/

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (2 voti, media: 4,50 di 5)
Loading ... Loading ...

Lascia una commento

(*) campi obbligatori

Spam protection by WP Captcha-Free