2011-02-01 8 views
7

Estoy intentando descubrir cómo generar un PDF desde HTML que contenga gráficos generados con la biblioteca flot javascript. Dompdf era mi biblioteca de conversión original, pero después de agregar gráficos flotantes falla miserablemente. He mirado alrededor de SO (particularmente en https://stackoverflow.com/questions/3178448/list-of-html-to-pdf-converters) y busqué en Google por un tiempo, pero parece que no puedo encontrar ninguno que brinde soporte de JavaScript explícitamente. Estoy trabajando en PHP. Vi a alguien mencionar en esa publicación que habían usado php-wkhtmltox con éxito en todos los casos, pero un gráfico generado por una biblioteca de JavaScript diferente. ¿Es esa mi única oportunidad? Posiblemente podría pagar hasta un par de cientos de dólares si hay una opción comercial disponible.¿Qué bibliotecas de HTML a PDF manejan javascript?

Si esto es algo que realmente no es posible con las bibliotecas actuales, ¿cuál es exactamente el desafío que hace que sea mucho más difícil convertir html generado por javascript en comparación con html normal?

Gracias

+0

+1 para referencia flot – Wazzzy

Respuesta

8

Puede utilizar wkhtmltopdf

Sólo extraerlo en su servidor, ejecute el comando (consulte el manual de here).

Gracias.

+0

** ** Por favor, aceptar la respuesta si le ayudó. – Wazzzy

+0

Bueno, no sirvió de nada, pero tú eres la única respuesta, así que ganas. Esta biblioteca puede funcionar bien, pero la documentación sobre cómo implementarla desde PHP en lugar de la línea de comandos, así como cualquier discusión sobre qué puede y qué no puede hacer con javascript me ha convencido de abandonar mi enfoque actual. Voy a soltar flot y usar una biblioteca PHP nativa para generar gráficos como imágenes y luego usar dompdf, que ya tenía funcionando para todo lo que no sean los gráficos flot. –

+0

Gracias por accpting.Por favor, hágamelo saber si necesita más ayuda sobre esto. – Wazzzy

3

La API en línea Pdfcrowd HTML to PDF puede ejecutar JavaScript. Puede descargar una biblioteca de cliente para PHP y probarlo.

Es una solución comercial SaaS, aquí está el documento: http://pdfcrowd.com/html-to-pdf-api/.

1

PDFPY

sudo npm i pdfpy 

var pdfpy = require ('pdfpy');

Archivo

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") 
});