PHPKurz PHP (23.) |
|
┌vodem | Kurz PHP | Odkazy | Aplikace | Otßzky a odpov∞di |
|
Generovßnφ PDF pomocφ PHPV dneÜnφm dφle si povφme o generovanφ PDF dokument∙ pomocφ PHP. Pomocφ PDF m∙₧eme generovat jak jednoduchΘ dokumenty, tak slo₧itΘ dokumenty jako nap°φklad cenφky, faktury apod. Ty m∙₧eme nßsledn∞ zasφlat naÜim u₧ivatel∙m, spoleΦnφk∙m i zßkaznφk∙m. Existuje mnoho zp∙sob∙, jak generovat PDF dokumenty. My si v dneÜnφm dφle ukß₧eme, jak generovat tyto dokumenty pomocφ knihovny FPDF, kterß je k dispozici narozdφl od jin²ch zdarma. Instalaci provedeme rozbalenφm zip archivu (naleznete jej v sekci download) do urΦitΘho adresß°e. V adresß°i font nalezneme n∞kolik ji₧ p°ipraven²ch font∙, kterΘ m∙₧eme vyu₧φvat v PDF dokumentech. Pokud by nßm tyto fonty nevyhovovaly, m∙₧eme vyu₧φt dalÜφ TTF fonty. My nynφ zaΦneme jednoduch²m p°φkladem, ve kterΘm si vysv∞tlφme jednotlivΘ postupy p°i prßci s touto PDF knihovnou. <? define('FPDF_FONTPATH','./font/'); require('./fpdf.php'); $pdf=new FPDF(); $pdf->Open(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hello World!'); $pdf->Output(); ?> Jako prvnφ si musφme nadefinovat konstantu FPDF_FONTPATH, kterß slou₧φ k ulo₧enφ cesty k ji₧ zmφn∞n²m font∙m. Po vlo₧enφ souboru obsahujφcφho PDF t°φdu m∙₧eme vytvo°it jejφ instanci. K tomu slou₧φ nßsledujφcφ konstruktor: FPDF([string orientace [, string jednotka [, mixed formßt]]])
P°φklad: // Vytvo°φme nov² A4 dokument postaven² na v²Üku s jednotkou milimetr. $pdf=new FPDF('P', 'mm', 'A4'); Nynφ ji₧ m∙₧eme p°idßvat jednotlivΘ strßnky. K tomuto ·konu slou₧φ metoda AddPage, kterß mß jeden nepovinn² parametr - orientaci strßnky. Dosadit op∞t m∙₧eme hodnoty "P" nebo "L". V²chozφ hodnotou je ta, kterß je nastavena v konstruktoru t°φdy. P°φklad: // P°idßme do PDF dokumentu novou strßnku. $pdf->AddPage(); Okraje danΘ strßnky m∙₧eme nastavit pomocφ metody SetMargins: SetMargins(float lev², float hornφ [, float prav²]) Jako v²chozφ hodnota je 1 cm. P°φklad: // Nastavφme okraje strßnky. $pdf->SetMargins(2, 3, 2); P°edtφm, ne₧ budeme n∞co zapisovat do dokumentu, musφme nastavit font, kter² budeme pou₧φvat. SetFont(string font [, string styl [, float velikost]])
P°φklad: // Nastavφme font na Arial, velikost 16, tuΦn² a kurzφva. $pdf->SetFont("Arial", "BI", 16); Jakmile budeme mφt nastaven druh fontu, musφme vytvo°it oblast, do kterΘ vepφÜeme nßÜ text pomocφ metody Cell: Cell(float Üφrka [, float v²Üka [, string text [, mixed ohraniΦenφ [, int ln [, string zarovnßnφ [, int v²pl≥ [, mixed link]]]]]]])
P°φklad: // Vytvo°φme textovΘ pole se zadan²mi parametry. $pdf->Cell(20,10,'Testovacφ text',1,1,'C'); Nynφ, kdy₧ mßme vytvo°enou "zßkladnφ" strukturu naÜeho PDF dokumentu, m∙₧eme jej zpracovat a zobrazit v²sledek. V²sledkem m∙₧e b²t text, soubor vytvo°en² na disku nebo soubor odeslan² ke sta₧enφ prohlφ₧eΦi. K tomuto vÜemu slou₧φ metoda: Output([string jmΘno [, string cφl]])
P°φklad: // OdeÜleme soubor prohlφ₧eΦi k otev°enφ. $pdf->Output("MojePDF.pdf", "D"); Mezi dalÜφ mo₧nosti pat°φ takΘ vytvo°enφ zßhlavφ, zßpatφ a vklßdßnφ obrßzk∙. Zßhlavφ a zßpatφ m∙₧eme vytvo°it tak, ₧e si vytvo°φme novou t°φdu, kterß zd∞dφ metody a prom∞nnΘ t°φdy FPDF. Tuto novou t°φdu doplnφme o metody Header a Footer. <?php define('FPDF_FONTPATH','font/'); require('fpdf.php'); // Vytvo°φme naÜi novou t°φdu class PDF extends FPDF { function Header() { // Obsah zßhlavφ } function Footer() { // Obsah zßpatφ } } // Instance naÜφ novΘ t°φdy $pdf=new PDF(); $pdf->AddPage(); ..... $pdf->Output(); ?> Pro vklßdßnφ obrßzk∙ slou₧φ metoda Image: Image(string soubor, float x, float y [, float w [, float h [, string typ [, mixed link]]]])
P°φklad: // OdeÜleme soubor prohlφ₧eΦi k otev°enφ. $pdf->Image("logo.jpg", 10, 10); Pro tento dφl to bude vÜe. V p°φÜtφm dφle budeme dßle pokraΦovat v pokroΦilΘm generovßnφ PDF dokument∙.
|
|