Add to Google Reader or Homepage Prihlásiť sa k odberu RSS

| Rubrika Php / mysql

Diskusia k článku

Tip: Generovanie PDF súborovZobraziť článok

Vladimir Biro
Dátum a čas 20. 05. 2010, 09:02

V tom kode na zaciatku chyba bodkociarka.

A inac dik pomohlo mi to :)

prochy
Dátum a čas 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
Dátum a čas 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
Dátum a čas 20. 11. 2009, 12:21 E-mail 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
Dátum a čas 15. 02. 2009, 15:28 E-mail 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
Dátum a čas 14. 02. 2009, 14:22 E-mail 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ď
Dátum a čas 06. 02. 2009, 17:51 E-mail 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äť naspäť

Pridať komentár

Koľko je na ruke prstov?

Náhľad článku

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.

RSS