![]() |
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ů.
|
|