-
Generování pdf z php
Ahoj, potřebuji vygenerovat doklad... ten je napsaný v php a potřebuji z něj udělat pdf a pak ho poslat mailem dotyčnému. Zkouším to pomocí mPDF, ale nějak nevím jak udělat aby to php... Když mám čistě html stránku tak to převede do pdf dobře, ale z php ne... nevíte někdo jak to vyřešit? Děkuji
EDIT: Pro představu... tahám nějaká data pomocí php z mysql... takže mám nějakou tabulku a ta je naplněna hodnotama z mysql... když to převedu do pdf, tak se převedou pouze ty texty v html (<php echo "text"; ?>) ale ty proměnné co se mají naplnit z mysql ty se nevypíší... jako asi se nezavolají selecty atd...
Takže teďka nevím, jestli to vůbec takto z php půjde převést nebo ne a pak mě napadla ještě jedna možnost a tou je něco co by převedlo zobrazenou stránku na text v html a ten pak převedlo do pdf
-
Re: Generování pdf z php
Čtu si tvůj dotaz už potřetí a přemýšlím na co se vlastně ptáš...
Pro upřesnění - říkáš, že html se převede do pdf dobře. Pak nerozumím v čem je problém. Výstupem PHP musí být samozřejmě opět HTML, takže je jedno jestli to zobrazím na výstup nebo pošlu do mPDF.
Napřed si tedy otestuj validitu stránky v HTML a pak to přesměruj na mPDF.
-
Re: Generování pdf z php
Možná jsem to napsal trochu nesmyslně :-D tak se to pokusím napravit... jedná se o dodací doklad, kde jsou položky dokladu v mysql a já potřebuji pro zákazníka online generovat pdf, aby se mu rovnou otevřelo v prohlížeči ten pdf soubor a mohl si ho popřípadě uložit.
EDIT: zkusil jsem si udělat něco jednoduchého na hledání chyby
<?php
require_once 'mPDF/mpdf.php';
$mpdf = new mPDF('utf-8');
$stylesheet = file_get_contents('css/style.css');
$html = file_get_contents('includes/onas.php');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($html,2);
$name = "pdf/pokus.pdf";
$mpdf->Output($name,"F");
?>
a když si otevřu to PDF, tak to tam vidím například toto:
<?php $Dotaz = "select onas from texty"; $Vysledek = mysql_query($Dotaz); $Data =
mysql_fetch_array($Vysledek); $onas = $Data["onas"]; echo $onas; ?>
projížděl jsem validátor a ten mě chybu nehlásí...
-
Re: Generování pdf z php
Hmm, tak to je jasné. Máš v tom jednoduše zmatek. PHP je preprocesor, tzn. že pomocí PHP a výstupu dat z MySQL musíš poskládat validní HTML a ten teprve protlačit skrz mPDF. Tím že vynecháš PHP, tlačíš do PDF zdrojový kód.
Konkrétně file_get_contents() ti natáhne zdroják, ale ten nemůžeš dát do mPDF!, protože nebude zpracován.
Pro přehlednost doporučuju následující postup (i když také není ideální):
- udělej si normální stránku, která má zobrazovat přesně to co chceš mít v PDF
- pak v kódu na začátku zapni výstupní buffer (viz http://www.php.net/manual/en/book.outcontrol.php)
- na konci načti obsah výstupního bufferu a protlač skrz mPDF
-
Re: Generování pdf z php
Děkuji za odpověď.... jsem jsem to pochopil správně... takže tu stránku co mě zobrazuje ten doklad, tak na začátku si zapnu ten výstupní buffer a na konci konci ho načtu a proženu přes mPDF...
EDIT: Nevíš ještě jak na tabulky? Odběratel co se tahá z dabatáze je OK, datumy atd jsou taky OK, ale pod tím je tabulka s rozepsaným zbožím a pak rozepsané DPH, to je v tabulce a to se mě nezobrazuje. Validátor chybu nenašel, tak jestli Tě ještě něco nenapadá? Pak jsem koukal, že mě to nějak nebere stylování...