Autor | Zpráva | ||
---|---|---|---|
mišiačik Profil * |
#1 · Zasláno: 21. 6. 2011, 13:54:10
Zdravím, potreboval by som pomoc pri vygenerovaní PDF súboru.
Mám jednoduchý formulár. Výstupný PHP skript na základe údajov formulára načíta ďalšie údaje z MySQL a následne vygeneruje nejaký HTML obsah. Tento výstup, ktorý najprv užívateľ skontroluje, by som potreboval vytlačiť => vygenerovať PDF. Prípadne aby to bolo jednoduchšie priamo vygenerovať PDF. Skúšal som triedy fpdf, mpdf, a i. do ktorých keď priamo vložím nejaký kus HTML kódu vygeneruje PDF v poriadku. Ale nedarí sa mi resp. neviem ako tento výstupný HTML kód zachytiť a poslať skriptu na vygenerovanie PDF.. tu je ukážka PHP skriptu na spracovanie formulára. (som v php začiatočník, triedy xpdf sa snažím použiť prvý krát, a nič čo by mi pomohlo som nenašiel) <html> <head> <meta content="text/html; charset=windows-1250" http-equiv="content-type" /> </head> <?php $volno=$_POST['volno']; $meno=$_POST['meno']; //..ďalšie premenné z formulára $host="localhost"; //..ďalšie premenné na spojenie s MySQL mysql_connect("$host", "$username", "$password")or die("Spojenie neúspešné"); //..atď $sql="SELECT osobid FROM $tbl_name WHERE meno='$meno'"; $result=mysql_query($sql); ?> <body> <center> <div style="width: 18cm; border-style: solid ; border-color: black; border-width: 1px"> <div style="margin: 30px;"> <table style="border-collapse:collapse" width="100%" border="0" align="center"> <tr> <td style="padding: 15;" colspan="2" align="center"><big><b><?php echo "$volno";?></b></big> </td> </tr> <tr> <td style="padding: 3; width: 10cm;" >Meno a priezvisko: <b><?php echo "$meno";?></b></td><td>Osobné číslo: <b> <?php while($rows=mysql_fetch_array($result)) { echo $rows['osobid'];}?></b></td> </tr> // ....pokračovanie tabuľky </table> </div> </div> <br> </center> </body> </html> Keď som v prehliadači zobrazil zdrojový kód výstupu (už čistý HTML) a tento vložil do skriptu mpdf tak PDF súbor vytvorilo OK aj s diakritikou. <?php include('mpdf/mpdf.php'); $mpdf=new mPDF(); $mpdf->WriteHTML(' <html> ..skopírovaný html kód... '); $mpdf->Output(); ?> Takže zopakujem otázku - ako zachytiť html kód generovaný php skriptom a odoslať ho na vygenerovanie triede mpdf, alebo fpdf alebo inej. Ďakujem. |
||
ShiraNai7 Profil |
#2 · Zasláno: 21. 6. 2011, 14:18:20
Na začátku skriptu toto:
ob_start(); a před generováním PDF toto: $html = ob_get_contents(); ob_end_clean(); a poté.. include('mpdf/mpdf.php'); $mpdf=new mPDF(); $mpdf->WriteHTML($html); $mpdf->Output(); |
||
Tori Profil |
#3 · Zasláno: 21. 6. 2011, 14:18:28
Uložte si výstup do proměnné, místo kusů PHP uvnitř HTML to bude jen PHP:
<?php $vystup = '<html><head> .....atd. <body>'; // tady taháte data z DB while ($rows=mysql_fetch_array($result)) { $vystup .= '..nejaka data z db...'; } $vystup .= '...konec tabulky... </html>'; include('mpdf/mpdf.php'); $mpdf=new mPDF(); $mpdf->WriteHTML($vystup); $mpdf->Output(); Ještě by byla varianta, řešit to přes funkce ob_start(), ob_get_flush(). |
||
mišiačik Profil * |
#4 · Zasláno: 23. 6. 2011, 09:23:16
Tori:
Ďakujem; premenná to vyriešila.. |
||
Časová prodleva: 13 let
|
0