<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC '-//W3C/DTD XHTML+Voice 1.2 /EN' 'http://www.voicexml.org/specs/multimodal/x+v/12/dtd/xhtml+voice12.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:ev='http://www.w3.org/2001/xml-events'>
<head>
<link rel='stylesheet' href='http://pabi3.com/modules/items/voice.css' type='text/css' media='all' />
<form xmlns='http://www.w3.org/2001/vxml' id='title'>
<block>
The article PHP - tvorba PDF dokumentov s diakritikou is written by PaBi3
</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='body'>
<block>


Vytvorit PDF dokument s diakritikou nie je velky problem, ked viete zvolit to
spravne pismo a kodovanie. Pre tvorbu nepouzivam vstavanu PDF kniznicu ale iba
skvelu PHP triedu &ndash; FPDF.
Prinasa mnoho vyhod ako volba rozmerov, urcenie formatu stranky, odsadenia,
zahlavie a spodok dokumentu, automaticke zalamovanie stranok a riadkov,
centrovanie textu, podpora obrazkov JPEG a PNG, farby pre rozne elementy, 
hypertextove odkazy, TrueType, Type1 a podpora kodovani,
kompresia dokumentu (vyzaduje Zlib kniznicu). Osobne si pre PDF volim pismo Trebuchet MS. Je mozne pouzit aj krajsie
pismo, napr. Palatino Linotype ale treba mysliet aj na velkost
dokumentu. S Trebuchet MS bude mat dokument nieco cez 300kB. S Palatino Linotype
vyse 1,2MB. Postup osadenia TrueType pisma do PDF dokumentu je celkom dlhy proces. Najprv
je potrebne z .ttf suboru vytvorit metricky subor .afm.
Pomocou .afm suboru dalej vygenerovat definicny PHP subor. Poslednym krokom je prekodovanie vstupu napr. z
UTF-8 (zvolite vase kodovanie vstupnych dat) do cp1250.
</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='full'>
<block>
Tvorba metrickeho suboru

Pre vytvorenie .afm suboru je nutne stiahnut si utilitu
ttf2pt1.
Pouzivatelia Windows ju stiahnu tu.
Zapnite si prikazovy riadok a napiste nasledovne:


ttf2pt1 -a c:\windows\fonts\trebuc.ttf trebuc
ttf2pt1 -a c:\windows\fonts\trebucbd.ttf trebucbd
ttf2pt1 -a c:\windows\fonts\trebucbi.ttf trebucbi
ttf2pt1 -a c:\windows\fonts\trebucit.ttf trebucit

Tvorba definicneho PHP suboru

Pokial ste si este nestiahli FPDF, stiahnite ho.
V zlozke font/makefont/ sa nachadza subor makefont.php, ktory vytvori definicny PHP subor
funkciou MakeFont().
Vytvorte novy PHP subor s obsahom:


&lt;?phpinclude_once('font/makefont/makefont.php');MakeFont('c:\windows\fonts\trebuc.ttf','trebuc.afm','cp1250');MakeFont('c:\windows\fonts\trebucbd.ttf','trebucbd.afm','cp1250');MakeFont('c:\windows\fonts\trebucbi.ttf','trebucbi.afm','cp1250');MakeFont('c:\windows\fonts\trebucit.ttf','trebucit.afm','cp1250');?&gt;


Po ukonceni skriptu sa vyskytnu aj varovania o chybajucich znakoch. Ignorujte ich
a vsimnite si radsej 8 novych suborov. 4 s koncovkou .z a dalsie 4 s koncovkou .php. Ich nazov sa zacina na trebuc&hellip;
Vsetky nakopirujte do zlozky font/.


Tvorba PDF dokumentu

Davajte pozor na kodovanie skriptu. Ja pouzivam iba UTF-8, takze budem potrebovat
PHP rozsirenie iconv, aby som mohol prekodovat vstup z UTF-8 do
cp1250.


&lt;?phpdefine('FPDF_FONTPATH','font/');require('fpdf.php');//&nbsp;retazec,&nbsp;ktory&nbsp;ma&nbsp;byt&nbsp;v&nbsp;PDF&nbsp;dokumente$text&nbsp;=&nbsp;'Verite,&nbsp;ze&nbsp;tento&nbsp;PDF&nbsp;dokument&nbsp;dokaze&nbsp;zobrazit&nbsp;zakladnu&nbsp;diakritiku:&nbsp;lsctzyaieuao';//&nbsp;prekodovat&nbsp;obsah&nbsp;do&nbsp;cp1250$text&nbsp;=&nbsp;iconv('UTF-8','CP1250',$text);//&nbsp;vytvorit&nbsp;novu&nbsp;instanciu&nbsp;FPDF$pdf&nbsp;=&nbsp;new&nbsp;FPDF();//&nbsp;pridat&nbsp;pisma$pdf-&gt;AddFont('trebuc','','trebuc.php');$pdf-&gt;AddFont('trebuc','B','trebucbd.php');$pdf-&gt;AddFont('trebuc','I','trebucit.php');$pdf-&gt;AddFont('trebuc','BI','trebucbi.php');//&nbsp;vytvorit&nbsp;PDF&nbsp;dokument$pdf-&gt;AddPage();$pdf-&gt;SetFont('trebuc','',11);$pdf-&gt;MultiCell(0,5,$text);$pdf-&gt;Output();?&gt;

Vysledok


	Windows XP (Adobe Reader)
	Fedora Core 6 (KPDF)


	
	



Vysledny PDF dokument si stiahnete tu.
PDF generovane na tejto stranke este nefunguju s diakritikou, ale pripravujem novu verziu PDF exportu.
Priklad si mozete prezriet tu.
</block>
</form>
<base href='http://pabi3.com/' />
<title>PHP - tvorba PDF dokumentov s diakritikou</title>
</head>
<body ev:event='load' ev:handler='#title'>
<a href='http://pabi3.com/blog/php-tvorba-pdf-dokumentov-s-diakritikou/' title='Návrat'>Návrat</a>
<h1 style='padding:0.5em;'>PHP - tvorba PDF dokumentov s diakritikou</h1>
<ul>
<li ev:event='click' ev:handler='#body'>Speak introduction</li>
<li ev:event='click' ev:handler='#full'>Speak full</li>
</ul>
</body>
</html>
