2011-02-01 13 views
7

Sto cercando di capire come generare un PDF da HTML che contenga diagrammi generati con la libreria javascript flot. Dompdf era la mia libreria di conversione originale ma dopo aver aggiunto i grafici di flop fallisce miseramente. Mi sono guardato intorno SO (in particolare a https://stackoverflow.com/questions/3178448/list-of-html-to-pdf-converters) e ho cercato su Google per un po ', ma non riesco a trovare nessuno che fornisca esplicitamente il supporto di JavaScript. Sto lavorando in PHP. Ho visto qualcuno menzionare in quel post che avevano usato php-wkhtmltox con successo in tutti i casi, ma un grafico generato da una diversa libreria javascript. È la mia unica possibilità? Potrei pagare fino a duecento dollari se c'è un'opzione commerciale disponibile.Quali librerie HTML in PDF gestiscono javascript?

Se questo è qualcosa che in realtà non è possibile con le librerie correnti, qual è esattamente la sfida che rende molto più difficile la conversione di html generato da javascript rispetto al normale html?

Grazie

+0

+1 per riferimento flot – Wazzzy

risposta

8

È possibile utilizzare wkhtmltopdf

Basta estrarre sul vostro server, eseguire il comando (controllare il manuale di here).

Grazie.

+0

** Si prega ** accettare la risposta, se ti ha aiutato. – Wazzzy

+0

Beh, non è stato d'aiuto, ma tu sei l'unica risposta, quindi vinci. Questa libreria può funzionare bene, ma la documentazione su come implementarla da PHP rispetto alla riga di comando, così come qualsiasi discussione su cosa può e non può fare con javascript mi ​​ha convinto a rinunciare al mio approccio attuale. Ho intenzione di rilasciare flot e utilizzare una libreria nativa di PHP per generare grafici come immagini e quindi utilizzare dompdf che avevo già utilizzato per tutto diverso da quello delle cartelle di navigazione. –

+0

Grazie per l'adesione. Per favore fatemi sapere se avete bisogno di più aiuto su questo. – Wazzzy

3

L'API online PDF to PDF di Pdfcrowd può eseguire JavaScript. Puoi scaricare una libreria client per PHP e provarla.

Si tratta di una soluzione SaaS commerciale, ecco i documenti: http://pdfcrowd.com/html-to-pdf-api/.

1

PDFPY

sudo npm i pdfpy 

var pdfpy = require ('pdfpy');

File

var pdfpy = require('pdfpy'); 

    var data = { 
     //the key as to be same as below 
     input: "./test.html", 
     output: "./output.pdf" 
    } 
    pdfpy.file(data, function(err, res) { 
     if(err) throw err 

     if(res) console.log("success") 
    }); 

URL

var pdfpy = require('pdfpy'); 

var data = { 
    //the key as to be same as below 
    input: "http://google.com", 
    output: "./output.pdf" 
} 
pdfpy.url(data, function(err, res) { 
    if(err) throw err 

    if(res) console.log("success") 
});