| Rubrika Php / mysql
Diskusia k článku
Tip: Generovanie PDF súborov
Vladimir Biro
20. 05. 2010, 09:02
V tom kode na zaciatku chyba bodkociarka.
A inac dik pomohlo mi to :)
prochy
17. 02. 2010, 13:42
A diakritiku jsem vyřešil tak, že jsem si naimportovat font z Windows s kódováním CP1252. (Pro češtinu - nevím jaké kódování má slovenština.) Postup je posaný tady: http://www.fpdf.org/en/tutorial/tuto7.htm
prochy
17. 02. 2010, 13:40
Díky za článek - nikde jinde jsem tuhle informaci neneašel, taže mi dost pomohl. Jen pro ty šablony je potřeba použít rozšíření FPDI - viz http://www.setasign.de/products/pdf-php-solutions/fpdi.
Vladimir Biro
20. 11. 2009, 12:21
vladimir.biro [a] gmail.com
je to len taka hlupost, ale v riadku // vypise text chyba bodkociarka na konci.
Inac vdaka tebe som nasiel co som hladal, takze dik.
Ewe
15. 02. 2009, 15:28
utf-8?
Fpdf pracuje s utf-8 kodovanim? Po chvilke googlenia som sa docitala, ze vraj prave utf-8 nie je podporovane. Inak uz druhy den sa snazim rozbehat diakritiku, nevies pomoct? :) Vdaka
masko
14. 02. 2009, 14:22
masek [a] altamira.sk
ahoj, no, v podstate nie je to nic zlozite, ten kusok kodu ktory tam je uvedeny ti vytvori PDFko na zaklade sablony. pozri si potom priamo na stranke fpdf rozne metody, ktorymi vkladas text a bloky textu na presne suradnice na PDFku. v podstate je to len otravna robota, treba vsetko presne napasovat, tak aby to bolo tam kde to ma :). ja pouzivam hlavne metodu MultiCell (automaticky odriadkuje text, ked prekroci povolenu sirku).
este pozor na verziu fpdf, ktoru pouzijes. tento clanok sa tykal starsich verzii (tusim 1.53 alebo 1.52) v najnovsej 1.6 rovnaky postup nefungoval.
Ján Jaďuď
06. 02. 2009, 17:51
jan.jadud [a] gmail.com
Ahoj Tomas,
dakujem krasne za clanok, prave teraz budem riesit generovanie PDF suborov a obzeral som sa po internete co na to vhodne pouzit a najme nech je to free a nebije sa to s licenciami. Nakoniec ako tak vidim som solution nasiel na starom dobrom phpblogu. Nechapem ako je mozne, ze som nan pozabudol, hned isiel obratom do google readera na feedy :).
Osobne ma vsak viacej zaujima to generovanie do sablon, pises, ze funkcia nie je este uplne zdokumentovana (dokum. som v case pisania tohto komentu este necital) ale je nieco na co by si vedel upozornit, pripadne povedat nejake finty apod?
Este raz vdaka, a nech sa dari.
naspäť
Pridať komentár
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.

