dompdf: chargement des fichiers html à rendre, ne fonctionne pas
dompdf n'est pas en mesure de générer un pdf à partir d'une page de mon site. Cependant, j'ai enregistré la page et l'a envoyé comme simple fichier html statique, et cela a fonctionné!
Donc, je ne sais pas si le problème est avec l'url, ou quelque chose d'autre.. c'est l'erreur que j'obtiens:
Avertissement: require_once(/home/o110334/public_html/dompdf/include/firephp.cls.php) [function.require-once]: failed to open stream: No such file or directory in /home/o110334/public_html/dompdf/dompdf_config.inc.php sur la ligne 194
Erreur fatale: require_once() [function.exiger]: Failed opening required '/home/o110334/public_html/dompdf/include/firephp.cls.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/o110334/public_html/dompdf/dompdf_config.inc.php sur la ligne 194
C'est le code:
$file = "admin/store/orders/45/invoice/print"; //doesn't work
//$file = "invoice_sample2.html"; //it works (same web page, but stored in a html file)
$dompdf = new DOMPDF();
$dompdf->load_html_file($file);
$dompdf->render();
$dompdf->stream("sample.pdf");
OriginalL'auteur aneuryzm | 2010-07-14
Vous devez vous connecter pour publier un commentaire.
DOMPDF est d'essayer toutes sortes de choses/eval est lors de l'exécution locale, vous êtes mieux d'essayer:
1) la (certes, longue distance) de demander le code HTML par http:
2) Ne laissez pas DOMPDF
eval
mais utiliser le tampon de sortie lui-même, et de laisser DOMPDF charge de la chaîne résultante de HTML.C'est ce que j'ai dit. je l'ai dit, ne laissez PAS DOMPDF exécuter votre php.
Méthode #1 écrit pour être plus portable $fichier = "/admin/store/commandes/45/facture/imprimer"; $dompdf->load_html_file('http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).$fichier);
n'est pas souvent au point, certainement pas avec la réécriture d'url, la norme d'atterrissage script, etc. un
$_SERVER['REQUEST_URI']
me serait plus portable, mais je n'aime vraiment pas (1), j'irais pour (2), si possible.oui, cela dépend de votre environnement. J'irais avec quelque chose de plus proche de #2, sauf que j'avais créer le document et puis l'alimentation de dompdf. Parfois, il est plus facile de passer par le serveur web car, d'une dynamique de contenu sera rendu par le serveur et b) les références de fichier (par exemple, images, css) sera le point de là où l'on attend. La dernière question est celle couramment rencontrées lorsque l'on cherche à utiliser dompdf et d'un fichier local ou load_html().
OriginalL'auteur Wrikken