2009-11-11 7 views
0

J'essaye d'employer HTML2FPDF (http://html2fpdf.sourceforge.net/) pour créer un pdf d'une page, mais je ne peux pas sembler l'obtenir pour fonctionner correctement.HTML2FPDF imprimer les résultats de page en pdf

Ma page est composée de jQuery pour montrer un graphique. Je veux que le graphique et les autres textes de la page soient exportés en format PDF.

http://portal.flyingstartlifestyle.360southclients.com/leanne/leanne.php < - le graphique avec le code html2fpdf en bas de la page.

Code HTML2FPDF:

function createPDF() { 

define('ABSPATH', dirname(__FILE__).'/'); 

require(ABSPATH.'classes/pdf/html2fpdf.php'); 

$pdf = new HTML2FPDF(); 
$pdf->AddPage(); 

$html = ob_get_contents(); 
//$html = htmlspecialchars($html); 

if ($html) { 

    $fileName = "testing.pdf"; 

    $pdf->WriteHTML($html); 
    $pdf->Output("pdfs/".$fileName); 

    echo "<p>PDF file is generated successfully! <a href=\"pdfs/$fileName\" target=\"_blank\">Click here</a> to open it.</p>"; 

} else { 

    echo "<p>There has been an error in creating your PDF.</p>"; 

}; 


}; 

Si je Démasquer la ligne "$ html = htmlspecialchars ($ html);" il imprime le pdf le texte de la page, sinon il crée un PDF vide. Des idées comment je peux transférer mon graphique en format PDF?

Vive

Répondre

1

Ma page est composée de jQuery pour montrer un graphique. Je veux que le graphique et les autres textes de la page soient exportés en format PDF.

jQuery est interprétée par le navigateur et non par le serveur. Lorsque vous envoyez le code HTML à convertir en PDF, il n'exécutera pas le Javascript. Vous devrez trouver un moyen de générer réellement l'image d'une autre manière.

2

Quelques années, j'ai été me cogner la tête contre le mur en essayant de convertir le HTML en PDF pour les jours. Ce que je voulais faire était vraiment simple - faire une facture pour les clients dans un fichier PDF. Une image (logo) sur le dessus, quelques paragraphes, et une table avec une liste de frais.

Le trou en forme de ma tête sur le mur est toujours là. Toutes les bibliothèques gratuites qui convertissent les choses au format PDF - elles sont toutes nulles. J'ai trouvé celui qui craint le moins, c'est DomPDF. Au moins, celui-ci a fini par faire le travail, après une semaine de souffrance et de débogage. Cependant, ce n'est pas rapide (si vous voulez générer un fichier PDF complexe, vous pouvez le faire hors-fil).

1

Je suppose que je pourrais voir une situation où vous pourriez utiliser ajax pour faire un appel à distance et envoyer tout le html que le js voit.

L'appel distant écrira alors un fichier de ce code html. L'appel distant renvoie un nom de fichier pour le fichier PDF à générer. Votre js pourrait alors fournir un lien vers la page de traitement du fichier html2pdf qui fait référence au fichier créé à partir de l'appel distant.

Cela fonctionnerait, mais cela pourrait être un peu trop.

Cordialement.