|
Určite ste si všimli, že Joomla! nedokáže vytárať PDF súboru z článkov z korektnými slovenskými znakmi. Veľmi ma to hnevalo, tak som si povdal DOSŤ! V nasledujúcom článku sa dozviete, ako je možné si zmeniť vytvorenie PDF z Joomla! článku, prispôsobiť si generovanie podľa seba, a ako korektne zobrazovať znaky nášho jazyka.
Ako na PDF
Pri skúšaní jednotlivých funkcii Joomla! som narazil na problém z nekorektným zobrazovaním PDF. Začal som hľadať a jediné čo sa mi podarilo nájsť, bol hack FPDF upravený pre české prostredie ktorý ale nedával výstup podľa mojich predstáv.
FPDF je systém na generovanie PDF dokumentov z htm obsahu pomocou PHP skriptov. Fpdf adresár nájdete v adresári /includes kde sú dané skripty, o ktorých je nižšie reč.
Tak som sa teda začal „vŕtať“ v skritoch FPDF a snažil sa ich naformátovať. FPDF ktoré je možné stiahnuť, má pridané oproti pôvodnej verzii hlavičku a pätu stránky, centrovanie nadpisu na stred a samostatne nastavenie farby a veľkosti textu pre jednotlivé položky ako je autor článku(podarilo sa mi zatiaľ vyriešiť len načítanie aliasu), dátum vytvorenia a vlastný text článku. Ďalej som pridal opravu entít ktoré spôsobovali asi najväčšie problémy pri generovaní PDF. Upravené boli nasledovné súbory:
fpdf_include.php - bola pridaná hlavička, päta a oprava entít pdf.php - bolo vyriešené formátovanie vlastného článku. V prípade že tieto súbory budete editovať musia byť uložené v kódovaní ISO !!!
Úprava hlavičky
function Header() { global $mosConfig_sitename; //Záhlaví stránky $this->SetY(5); $this->SetFont('verdana','',8); $this->SetTextColor(255,0,0); $this->Cell(0,0,$mosConfig_sitename,0,1,'C'); $this->Cell(0,10,' ',0,1,'C'); $this->SetLineWidth(0); $this->SetDrawColor(0,0,255); $this->Line(1,10,209,10); }
SetY( poloha textu na stránke Y os ) nastavuje pozíciu od začiatku listu na strane odkiaľ sa začne daný príkaz vykonávať
SetFont('typ fontu','definovanie štýlu',veľkosť písma) štýl - určuje štýl písma - tučné "B", kurzivo "I" a podčiarknuté "U". Je ich možné aj konbinovať - trebars. "BU" = tučné + podčiarknuté
SetTextColor(R,G,B) farba ktorá sa použije na vykonanie danej operácie
Cell(0,0,text,0,1,'poloha textu v riadku') vypíše daný text, poloha sa definuje nasledovne; L v ľavo, C na stred, R v pravo.
SetLineWidth(x) hrúbka čiary Line(x1,y1,x2,y2) x1 a y1 súradnice počiatočného bodu čiary, x2 a y2 súradnice koncového bodu čiary
Toto je v krátkosti popis funkcii ktoré sú použité pre formátovanie hlavičky a päty každej stránky.
Úprava pätičky
function Footer() SetY( poloha textu na stránke Y os ) nastavuje pozíciu od konca listu na strane odkiaľ sa začne daný príkaz vykonávať, musíte zadať zápornú hodnotu.
Oprava znakov(entít)
sa nachádza vo funkcii function WriteHTML($html)
$html = str_replace("znak, prípadne reťazec ktorý chceme nahradiť", "znak prípadne reťazec ktorý sa uloží naspäť", $html); Táto oprava funguje len pre obsah článku, nefunguje pre nadpis autora a ostatné zobrazované informácie. Tie treba mať uložené bez entít.
Úprava nadpisu a vlastného textu
Formátovanie sa nachádza v súbore pdf.php Všetko čo chcete napísať sa najskôr musí uložiť do kódovania ISO. Na to slúži funkcia iconv()
$row->premenná=iconv("vstupné kódovanie", "výstupné kódovanie", $row->premenná);
Funguje to nasledovne:
1. načíta sa premenná 2. iconv() ju prevedie z jedného kódovania do druhého a následne sa uloží naspäť do premennej. 3. Následne sa vypíše telo stránky v poradí nadpis, alias autora, dátum vytvorenia článku a vlastný článok. Formátovanie veľkosť farba a štýl je také iste ako pri funkcii function Header()
Viac informácii najdete na www.fpdf.org prípadne tu
V prípade že si neviete dať z niečim radu, kľudne napíšte do diskusie, budeme sa snažiť odpovedať. Kompletne upravený pdf hack si môžete stiahnuť aj v sekcii "sťahuj" pod slovenčinou pre Joomla! 1.0.x, alebo cez tento link . |
kodovanie Autor: freza Dátum: 2007-03-15 16:18:53 testoval som to na utf a win a islo to. co sa tyka iso malo bi to ist bez problemov lebo pdf je vytvarane z tohto kodovania | problem UTF Autor: freza Dátum: 2007-03-20 21:04:37 v pripade spatneho prevodu z kodovania utf-8 si treba skontrolovat ako je spraveni tento zapis v jazykovom subore slovak.php DEFINE('_ISO','charset=UTF-8'); spravne ma byt utf-8 tzn. utf ma byt malim pismom | Ten istý problém vo virtuemarte Autor: SimComp1 Dátum: 2007-04-26 20:27:48 Po vložení fpdf a oprave utf funguje vJoomle PDF dobre ale vo virtuemarte PDF to neopravilo .Nedal by sa nejaky podobný postup použiť aj pre virtuemart ? | Super Autor: Servansky Dátum: 2007-05-07 11:06:28 Janko, mal si pravdu. Dnes som skúsil tvoje pdf na serveri s register_globals OFF a frčí to bez problémov (len som musel podľa tvojej rady premenovať v slovak.php to UTF na utf ) Veeeľka vďaka za rozchodenie pdf... | PDF v HLAVICKE Autor: bencop Dátum: 2007-05-25 07:30:58 Mne pri generovani PDF z clanku, nekorektne vygeneruje nazov stranky - ked su tam SK znaky - to co je tu JoomlaPortal, ale clanok je v poriadku, kde moze byt problem? | Funguje vám to dobře? Autor: gamur Dátum: 2007-08-22 23:04:28 vygeneruju si váš článek a udělá tohle sice se ten soubor stáhne ale neotevře pokud ho přejmenuju tak jde otevřít Kompletn�_tvorba_pdf_z_Joomla!_�l�nkov..pdf mě to dělá to smé co stím?No v pdf tam jsou divné čtverečkyna některých místech. | stvorce pod datumom vytvorenia Autor: jezko Dátum: 2007-12-10 02:55:55 zdravim, vsetky slovenske znaky mi zobrazuje korektne, len pod datumom vytvorenia sa mi zobrazia stvorceky, je to premenna $row->html, ma niekto podobny problem? | FPDF UTF problem Autor: Norbert_RA Dátum: 2008-01-21 19:30:01 Zdravim, prevzal som si Vas upraveny FPDF hack pre joomlu, nakopiroval na ftp. Registrujem mensi problem. DB stranky aj celkove kodovanie je v UTF-8 a jedina vec ktora sa nezobrazuje spravne je title pdf (nazov stranky) Existuje tento hack aj pre UTF-8 kodovanie? Stranku s PDF nahladom najdete tu: http://www.opera-prehliadac.com/content/view/268/63/ | Textový a obrazový PDF súbor Autor: adina1 Dátum: 2011-11-12 11:14:45 Poradí mi niekto ako vložím do článku textový a obrazový súbor vo formáte PDF ? Potrebujem niečo inštalovať? V PC mám uložené dokumenty v PDF len neviem ako to vložiť na stránku do článku?Poradí niekto krok za krokom ako na to? Ďakujem. |
Len registrovaní užívatelia môžu pridať komentár. Prosím prihláste sa alebo sa zaregistrujte. Powered by AkoComment 2.0! |