2012-10-23 11 views
5

Voglio l'opzione di convertire HTML in immagine e mostrare il risultato all'utente. Creo 'una variabile $ html con PHP, e invece di visualizzare usando echo $ html, voglio visualizzarlo come immagine in modo che l'utente possa salvare il file se necessario.Converti HTML in immagine in PHP senza shell

Speravo che ci fosse qualcosa di semplice come $ image = convertHTML2Image ($ html); : p se esiste ?!

Grazie !!

risposta

2

Questo non è possibile in puro PHP.

Ciò che chiamate "conversione" è in realtà un compito enorme e non banale: la pagina HTML deve essere resa. Per farlo in PHP, dovresti riscrivere un intero browser web.

Dovrai utilizzare uno strumento esterno (che di solito accede al motore di rendering di un browser) o un servizio web (che fa lo stesso).

+0

OK, non sono fisso sull'utilizzo di PHP. La pagina mostrerà il contenuto in formato HTML. Voglio solo dare quell'opzione all'utente, che se volevano scaricare la pagina (questo HTML è un calendario), possono quindi fare clic su un pulsante, e la pagina viene salvata come immagine, e l'utente può quindi salvarla. – user1083320

+0

@user controlla i collegamenti in [Come salvare la pagina web come file immagine utilizzando PHP?] (Http://stackoverflow.com/q/3175392) –

+0

@ user1083320: Perché l'immagine deve apparire come la pagina HTML? – Eric

11

Come dice @Pekka, il lavoro di trasformare il codice HTML in un'immagine è il compito di un browser web in piena regola.

Se si vuole fare questo genere di cose, è quindi necessario disporre di uno script che esegue le operazioni seguenti:

  1. apre la pagina in un browser.
  2. Cattura la pagina sottoposta a rendering dal browser come immagine.
  3. Emette quell'immagine al tuo utente.

Tradizionalmente, questo sarebbe stato un compito difficile, perché i browser Web sono in genere guidati dall'utente e non facili da automatizzare in questo modo.

Fortunatamente, ora c'è una soluzione, sotto forma di PhantomJS.

PhantomJS è un browser senza testa, progettato esattamente per questo tipo di attività: attività automatizzate che richiedono un motore di rendering in piena regola.

È fondamentalmente un browser completo, ma senza l'interfaccia utente. Rende il contenuto della pagina esattamente come farebbe un altro browser (è basato su Webkit, quindi i risultati sono simili a Chrome) e può essere controllato da uno script.

Come indicato nella home page di PhantomJS, uno dei casi di utilizzo di destinazione è la creazione di schermate o miniature di siti Web.

(un altro buon uso per esso è automatizzato test del tuo sito, dove è anche un ottimo strumento)

Speranza che aiuta.

0

Si può dare un'occhiata a dompdf che è un framework php per convertire un file html in un pdf.

0

utilizzare WKHTMLTOPDF. funziona come un fascino. converte in qualsiasi pagina in PDF. un jpeg può essere ottenuto eseguendo un'operazione successiva.

http://code.google.com/p/wkhtmltopdf/

+0

attualmente wkhtml2pdf richiede l'accesso alla shell – zizoujab

0

è possibile convertire html immagine. Tuttavia, per prima cosa è necessario convertire in PDF.vedi link