Home arrow Zoznam článkov arrow Najnovšie správy arrow Kompletná tvorba pdf z Joomla! článkov.
19.05.2012
Kompletná tvorba pdf z Joomla! článkov. PDF Print E-mail
Užívateľské hodnotenie: / 4
ÚbohýVýborný 
Napísal janko   
15.03.2007

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 .

Komentáre
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!

Poslený update ( 15.03.2007 )
 
< Predch.   Ďalší >