PHP Lire généré dynamiquement (et répété) HTML dans une chaîne de caractères?
J'ai un fichier qui tire partie de l'information de la base de données et crée une certaine relativement simple HTML dynamique.
Le fichier peut ensuite être utilisé par DOMPDF pour le transformer en un document PDF. DOMDPF utilise OBTENIR des variables pour atteindre la base de la mise en œuvre.
ob_start();
include_once("report.php?id=1249642977");
require_once("dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html(ob_get_contents());
$dompdf->render();
$dompdf->stream("sample.pdf", array('Attachment'=>'0'));
ob_end_clean();
J'ai pensé que je pourrais être en mesure d'utiliser quelque chose de ilke que pour atteindre l'objectif, mais sans surprise il ne fonctionne pas.
Alors, comment puis-je lire le HTML obtient sortie vers le navigateur si vous chargez le fichier directement, en une chaîne de caractères pour une utilisation avec le DOMPDF classe?
OriginalL'auteur bcmcfc | 2009-08-07
Vous devez vous connecter pour publier un commentaire.
Deux problèmes.
Tout d'abord, vous ne pouvez pas appeler une page PHP comme ça à l'aide de include_once - la chaîne de requête est ignorée. Vous devez donner l'id de report.php une autre façon.
Deuxièmement, vous êtes correctement mise en mémoire tampon de sortie. Cependant, vous êtes en passant le courant de sortie de la mémoire tampon de DOMPDF, en disant qu'il génère un fichier PDF pour le tampon de sortie, et la mise au rancart de la mémoire tampon de sortie. Vous voulez probablement quelque chose comme:
Qui aurez le courant de sortie de la mémoire tampon, la jeter, et de désactiver le tampon de sortie. L' $dompdf->flux devrait alors fonctionner.
OriginalL'auteur BlackAura
Ce sujet à l'aide d'une simple requête HTTP pour obtenir le fichier HTML et de le charger dans le $dompdf objet:
Je ne vois pas pourquoi vous avez besoin de tampon de sortie ici..
OriginalL'auteur Andrea Fiore
BlackAura est sur la bonne voie. File_get_contents, comme d'autres l'ont suggéré de ne pas passer le long de l'OBTENIR vars (ou POST). Mais vous pouvez utiliser cURL pour le faire. Le code ci-dessous devrait fonctionner:
Espère que ça aide.
-Kevin
OriginalL'auteur Kevin Jantzer
Simplement l'utilisation de PHP
file_get_contents
en tant que tel:puis passage de $page_html de dompdf.
Espère que cela aide 🙂
OriginalL'auteur Yuval Karmi
J'ai finalement décidé de modifier la page php qui génère le code HTML de sorte qu'il devient une fonction retournant une chaîne HTML. C'est plus une solution de contournement qu'une solution.
Avenir Googlers à cette page doit être conscient que DOMPDF permet d'exécuter du PHP en ligne sur une page à l'aide de:
OriginalL'auteur bcmcfc
BlackAura a la bonne idée. Vous êtes en y ajoutant le PDF généré à la sortie de la mémoire tampon, puis de les jeter tout.
OriginalL'auteur