2009-04-09 21 views
47

Eventuali duplicati:
Convert HTML + CSS to PDF with PHP?Conversione da HTML a PDF usando PHP?

E 'possibile convertire una pagina HTML a PDF utilizzando PHP, e se sì, come può essere fatto?

In particolare, la pagina è una fattura generata dinamicamente. Quindi vorrei caricarlo usando:

http://example.com/invoices/3333 

E l'output HTML dovrebbe essere convertito in PDF.

Qualsiasi buona libreria che funzioni andrà bene.

+0

GrabzIt ha un PHP Library gratis per la conversione HTML in PDF: http://grabz.it/html-to-pdf-image-api.aspx –

risposta

53

Se si desidera creare un pdf da PHP, PDFlib vi aiuterà (come alcuni altri hanno suggerito).

Altrimenti, se si desidera convertire una pagina HTML a PDF tramite PHP, troverete un po 'di problemi outta qui .. Per 3 anni ho cercato di farlo il meglio che posso .

Quindi, le opzioni che conosco sono:

DOMPDF: classe PHP che avvolge l'html e costruisce il pdf. Funziona bene, personalizzabile (se conosci php), basato su pdflib, se ricordo bene ci vuole anche un po 'di CSS. Cattive notizie: lento quando l'html è grande o complesso.

HTML2PS: come DOMPDF, ma questo converte prima in un file .ps (ghostscript), quindi in qualsiasi formato (pdf, jpg, png). Per me è poco meglio di dompdf, ma ha lo stesso problema di velocità ..ma, migliore compatibilità con i CSS.

Quei due sono classi PHP, ma se è possibile installare alcuni software sul server, e accedervi throught passante() o il sistema(), dare uno sguardo a queste anche:

wkhtmltopdf: basato su WebKit (safari's wrapper), è veramente veloce e potente .. sembra che questo sia il migliore (atm) per convertire le pagine html in pdf al volo; prendendo solo 2 secondi per un documento xHTML di 3 pagine con CSS2. È un progetto recente, tuttavia, la pagina google.code viene spesso aggiornata.

htmldoc: Questo è un serbatoio, non si arresta mai veramente/si blocca .. il progetto sembra morto dal 2007, ma comunque se non avete bisogno della compatibilità CSS questo può essere bello per voi.

+3

Daniel, quale è il migliore per i CSS allora? Wkhtmltopdf? –

+1

Sì, in realtà. siamo triyn per usare anche firefox (con un addon da riga di comando da torisugary), perché, sai, niente prenderà css meglio di un browser. wkhtmltopdf eseguito su safari, quindi in realtà è il migliore, imho. Spero che mozilla faccia qualcosa del genere con gecko presto – Strae

+0

Dan, puoi chiamare wkhtml tramite php? Sembra che debba essere chiamato usando la shell manualmente –

0

Sì, assolutamente.

Esistono soluzioni standard che è possibile acquistare e che accettano un input HTML e convertono file eh per te.

C'è anche un PDFLib comune che è possibile utilizzare per generare i PDF usando PHP ma richiede di crearli manualmente impostando tutti gli elementi sulla pagina.

Questo è another one ho usato che è stato abbastanza piacevole

1

Si potrebbe utilizzare PDFlib. C'è una documentazione su php.net on how to utilize it. Ahimè, devi vivere con una filigrana piuttosto invadente se non si acquista una licenza per PDFlib.

3

Personalmente non mi fido di tutti quei servizi offerti gratuitamente. Ecco un applicazione è possibile scaricare: http://www.tufat.com/script19.htm

+0

Non sono d'accordo. L'open source è ciò che fa funzionare lo spettacolo, non è mai contento dello status quo. Lavorando con 14 librerie open source, possiamo tranquillamente dire che non c'è niente di più semplice. –

+0

@toxinhead: potresti voler rileggere la risposta. Si tratta di * servizi *, non * software *. – soulmerge

+0

La risposta accettata è a cui ho pensato che si stesse riferendo anche a confrontare software/prodotti, non servizi. Scusate. –

1

dompdf: https://github.com/dompdf/dompdf

prende una stringa di input html e restituisce il pdf-stringa.

non ha la qualità a livello di browser e ha problemi con i CSS, ma funziona abbastanza bene per i documenti di testo semplici.

5

che dire di TCPDF?

ha un sacco di funzioni, e uno dei vantaggi di usarlo è possibile convertire HTML in PDF al volo

+6

Il tuo link a TCPDF è sbagliato, dovrebbe essere: http://www.tcpdf.org/ – stukelly

1

Anche questo uno che fa un lavoro GOOG: html2pdf

0

I problemi con le classi PHP sono AFAIK 2:

  1. Velocità: php prendere anela per analizzare la struttura html e converte in pdf con PDFlib
  2. Affidabilità: in caso di nuove c ss, o l'attributo di stile verrà, come mantenere gli aggiornamenti di script? quanto tempo?

Penso che l'unico modo per ottenere una conversione accurata sia l'utilizzo di un wrapper del browser perché, per definizione, sarà sempre il miglior lettore html.

suggerisco un altro collegamento con qualche confronto: LINK è lì che ho letto su wkhtmltopdf .. Dai una lettura a tutti i commenti troppo, molti altri senso ci sono ...