| Rubrika Php / mysql
Tip: Generovanie PDF súborov
Generovanie PDFiek prostredníctvom PHP je často využívaná funkcia napríklad v online fakturačných systémoch. Dnes vám predstavíme opensource PHP triedu, ktorá generovanie maximálne zjednodušuje a ponúka obrovské množstvo možností. Ide o triedu FPDF, ktorá zabezpečí vygenerovanie PDFka čisto z prostredia PHP, nepotrebuje žiadne neštandardné knižnice, ktoré zväčša na komerčných zdieľaných serveroch nie sú k dispozícií. Výhodné je taktiež, že trieda dokáže pracovať prakticky v akomkoľvek jazyku a nerobí jej problém ani slovenská diakritika – pracuje totiž v kódovaní UTF-8.
FPDF sa dá stiahnuť zo stránky http://www.fpdf.org, po rozbalení je bez nutnosti nejakej konfigurácie hneď funkčná. Použitie je veľmi jednoduché:
<? require_once dirname(__FILE__) .'/fpdf.php'; $pdf=new FPDF(); // inicializácia triedy $pdf->AddPage(); // vytvorenie novej strany v PDF $pdf->SetFont('Arial','B',16); // nastavenie fontu $pdf->Text(20,30,'textovy retazec') // vypise text $pdf->Output(); // vystup - bud priamo na obrazovku alebo sa vygenerovaný dokument uloží ?>
FPDF obsahuje veľké množstvo metód na vygenerovanie rôzne
formátovaného obsahu. Napríklad použitá metóda Text vypíše
zvolený reťazec na určené súradnice (x,y). Podobne fungujú aj metódy
Cell či Multicell, každá má však nejaké svoje
špecifiká. Multicell vypisuje text do rámika, zvolenej veľkosti. Zalamovanie
riadkov je automatické, pri dosiahnutí okraja.
Pomocou metódy Image sa dá do PDFka importovať rastrový
obrázok.
Relatívne rozsiahly zoznam dostupných metód je priamo na domovskej stránke
FPDF http://www.fpdf.org/…oc/index.php,
avšak zďaleka nie všetko je dostatočne zdokumentované.
Dôležitá je napríklad možnosť generovať dynamický obsah do šablóny, čo je dobré najmä v prípade spomínaných fakturačných systémov. Táto funkčnosť nie je dobre popísaná na domovskej stránke FPDF.
Vytvorenie šablóny
<? $pdf=new FPDF(); $p = $pdf->setSourceFile("pdfsubor.pdf"); $tpl = $pdf->importPage(1, '/MediaBox'); $pdf->useTemplate($tpl); $pdf->Output(); ?>
Takýto kód inicializuje FPDF triedu, a nahrá súbor s názvom „pdfsubor.pdf“ ako šablónu pre generované PDFko. Do takejto šablóny už potom na základe súradníc nie je problém dynamicky generovať text.
Tomáš Mašek
naspäť
prispieť do diskusie [7]
Vyhľadávanie
Posledných 5 komentárov
Pridať komentár / čítať diskusiu
-
Vladimir Biro: V tom kode na zaciatku chyba bodkociarka.
-
prochy: A diakritiku jsem vyřešil tak, že jsem...
-
prochy: Díky za článek - nikde jinde jsem...
-
Vladimir Biro: je to len taka hlupost, ale v...
-
Ewe: Fpdf pracuje s utf-8 kodovanim? Po chvilke...
Viac z rubriky
Ako ochrániť includované PHP súbory?
Automatické generovanie formulárov z MySQL
Automatický prevod texu na hyperlink
Cachovanie do HTML súboru
Cachovanie s pomocou funkcií serialize/unserialize
Čiernobiele obrázky v PHP
Dynamická tvorba URL
Fulltext ako názov stĺpca v tabuľke
Getcwd – Ako ľahko získať absolútnu cestu
Import z Excelu do MySQL databázy
Maximálny timeout vykonávania SQL skriptu
Microtime – rýchlosť načítania stránky
Odstránenie diakritiky v PHP pomocou iconv()
Overovanie a kontrola formulárov v PHP
Parsovanie XML súboru v PHP
PHP a zachytenie nedoručených mailov
PHP funkcia implode
Porovnávanie a dátovy typ DATE
Práca so súbormi pri zapnutom safe_mode
Prihlasovanie uživateľa prostredníctvom $_SESSION
Real-time kontrola e-mailovej adresy AJAX-om
Spracovanie dátového typu ENUM do HTML selectu
Strpos a offset – nájdenie výskytu znaku v reťazci
Tip: jednoduché šifrovanie a dešifrovanie v PHP
Tip: správne includovanie súborov
Ukladanie jazykových verzií statických textov
Veľmi jednoduchý návod na pekné URI
Vkladanie obrázkov do databázy
Výber záznamov začínajúcich číslom
Vyčistenie viacrozmerného poľa
Vyhľadávanie, pekné URI a diakritika
Vypísanie abecedy v PHP
Využívanie unikátnych kľúčov v MySQL databáze
Zaradenie jednej položky do viacerých kategórií
Zistenie hodnoty ďalšieho ID – autoincrement
Zložené MySQL dotazy – LEFT JOIN
Zvýrazňovanie syntaxe kódu – GeSHi
Pridať komentár



