Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kreiranje pdf-a sa našim fontovima

[es] :: PHP :: kreiranje pdf-a sa našim fontovima

[ Pregleda: 5124 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

oliver78
Oliver Petković
Pančevo

Član broj: 5031
Poruke: 230
*.vdial.verat.net

Sajt: oliver.glogonj.net


Profil

icon kreiranje pdf-a sa našim fontovima05.10.2004. u 22:12 - pre 237 meseci
Imam problem sa našim fontovima prilikom kreiranja pdf fajla potrebnog za štampanje. Podatke dovlačim iz baze sa UTF-8 enodingom. Za kreiranje pdf-a koristim klasu fpdf. Problem se javlja prilikom štampanja naših fontova ČĆŠĐŽ.
E sad pomoću funkcije ereg_replace() uspem da svaki kod tipa 'Å' zamenim odgovarajućim '[' (YUTimes je u pitanju), medjutim problem je u tome što uvek imam prazno polje dodatno

npr:
Š tampaj

Probao sam
Code:
 $p = ereg_replace('Å ', '[', $y);

ali onda ne prevodi ništa.
Ako neko zna rešenje ili neku drugu klasu uz pomoć koje se može prevazići problem nek javi.
 
Odgovor na temu

utvara
Slobodan Utvić
Vivvo CMS lead developer, Spoonlabs
d.o.o. Beograd

Član broj: 677
Poruke: 87
*.sbb.co.yu
Via: [es] mailing liste

Jabber: utvara@elitesecurity.org
ICQ: 28140625
Sajt: utvara.blogspot.com


Profil

icon Re: kreiranje pdf-a sa našim fontovima06.10.2004. u 11:46 - pre 237 meseci
Prva stvar: zaboravi da je Yuscii ikad postojao (kao sto se niko vise
ne seca ostalih 10 kodnih rasporeda iz dosa).

Drugo: za konverziju imas iconv koji vrlo pristojno radi.

Fpdf klasu sam sreo kasno da bih je primenio u mom projektu, pa sam
koristio pdflib, problem se resava embedovanjem fontova (ili sam bar
ja tako resio).

--
Sve najlepse,
Best regards,
Slobodan mailto:[email protected]
 
Odgovor na temu

oliver78
Oliver Petković
Pančevo

Član broj: 5031
Poruke: 230
*.vdial.verat.net

Sajt: oliver.glogonj.net


Profil

icon Re: kreiranje pdf-a sa našim fontovima06.10.2004. u 18:36 - pre 237 meseci
Uspeo sam nekako (uz veliku muku) sinoć da rešim problem. Isplati se biti uporan .
Što se tiče pdflib, koliko znam nije free pa mi ne odgovara za ovaj projekat.
Probaću i sa drugim fontovima sada bi trebalo da radi. Radio sam nešto tipa

Code:
$s = utf8_encode($f);
$p = utf8_decode($s);
$r = ereg_replace('ć', '}', $p);
itd.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.83.beocity.net.

Sajt: localhost


+5 Profil

icon Re: kreiranje pdf-a sa našim fontovima10.10.2004. u 17:44 - pre 237 meseci
vidim da si rešio, ali ajde da pojasnim..

Citat:
oliver78:
E sad pomoću funkcije ereg_replace() uspem da svaki kod tipa 'Å' zamenim odgovarajućim '[' (YUTimes je u pitanju), medjutim problem je u tome što uvek imam prazno polje dodatno


problem ti se javljao zato što se u utf8 svako naŠe slovo latinice (i svako slovo ćirilice) kodira sa dva bajta, a ti si menjao samo prvi..


a utvara bi mogao malo malo detaljnije da opiše kako je ubacio naša slova preko unikoda (ili već nekog drugog enkodinga -- kog?) pošto koliko ja znam (nisam probao) pdf ne podržava unikod (odnosno ne podržava više od 256 karaktera u fontu)..

 
Odgovor na temu

BlueIce
Marko Marić
Novi Sad

Član broj: 4448
Poruke: 215
*.131.EUnet.yu.



Profil

icon Re: kreiranje pdf-a sa našim fontovima10.10.2004. u 19:07 - pre 237 meseci
Mislim da grešiš, PDF je format koji je uspostavila firma Adobe, koja se (u poslednje vreme) kune u UNICODE, a sem toga ako malo pretražiš njihov sajt primetićeš još nekoliko dokaza koji ti ne idu u korist ;)

Što se tiče samog generisanja kvalitetnog PDF-a iz PHP-a (naravno sa podrškom za UNICODE) mislim da je, sadly, za sada jedino približno dobro rešenje Apache FOP, iako oni obećvaju da će započeti uskoro novu granu razvoja koja će u potpunosti biti kompatibilna u skladu sa trenutno važećim W3C standardima.
 
Odgovor na temu

oliver78
Oliver Petković
Pančevo

Član broj: 5031
Poruke: 230
*.vdial.verat.net.

Sajt: oliver.glogonj.net


Profil

icon Re: kreiranje pdf-a sa našim fontovima10.10.2004. u 20:21 - pre 237 meseci
Za zombija:
Pa našto slično, najveći problem je bio što nisam imao ova dva reda:
Citat:

Code:
$s = utf8_encode($f);
$p = utf8_decode($s);


iako su podaci u bazi u utf-8 encodingu. Kako mi je ovo palo napamet ne znam, ali bitno je da funkcioniše. Ako neko zna šta se ustvari tu događa ne bi bilo loše da napiše. Da ponovim:
1. izvlači se podatak iz baze u utf-8 enkodingu
2. radi se encode()
3. radi se decode()
4. zamenjuju se odgovarajući karakteri utf-8 sa odgovarajućim u datim fontovima

Pitanje: Zbog čega je neophodno 2.,3. kad su već podaci u utf-8?
npr:
Citat:
Code:
$r = ereg_replace('ć', '}', $p);

 
Odgovor na temu

utvara
Slobodan Utvić
Vivvo CMS lead developer, Spoonlabs
d.o.o. Beograd

Član broj: 677
Poruke: 87
*.nat-pool.nsad.sbb.co.yu.

Jabber: utvara@elitesecurity.org
ICQ: 28140625
Sajt: utvara.blogspot.com


Profil

icon Re: kreiranje pdf-a sa našim fontovima11.10.2004. u 16:02 - pre 237 meseci
Citat:
-zombie-: vidim da si rešio, ali ajde da pojasnim..
a utvara bi mogao malo malo detaljnije da opiše kako je ubacio naša slova preko unikoda (ili već nekog drugog enkodinga -- kog?) pošto koliko ja znam (nisam probao) pdf ne podržava unikod (odnosno ne podržava više od 256 karaktera u fontu)..


Nasa slova sam ubacio prilicno cupavo :), saljem ih u win-1250 kodnom
rasporedu i koristim CE fontove (moraju da se embeduju), podrska

Kad smo vec kod PDF-a da li je iko uspeo da automatizuje stampu u PHP-u, znaci da se kreira PDF i da se automatski odstampa (bez ogranicenja na operativni sistem).

Dole je klasa koju sam napravio za potrebe stampe.

Code:

    class pprint {
        var $pdf;
        var $page_no;
        var $page_w;
        var $page_h;
        var $ch; //trenutna visina na strani
        var $head_h;
        var $foot_h;
        var $temp_file;
        var $font;
        var $fontb;
        var $colors;
        
        function head(){        
// heder strane
        }

        function foot(){        
// futer strane
        }
        
        function begin_page(){
            ++$this->page_no;
            $this->ch = $this->page_h;
            PDF_begin_page($this->pdf, $this->page_w, $this->page_h);         
        }
        
        function end_page(){
            PDF_end_page($this->pdf);
        }
        
        function end_doc() {
            PDF_close($this->pdf);
            PDF_delete($this->pdf);
            $this->pdf = NULL;
        }

        function pprint() { 
            $this->temp_file = tempnam($_SERVER['DOCUMENT_ROOT'] . "/tmp", "FOO");
            $this->page_w = 595;
            $this->page_h = 842;
            $this->head_h = 87;
            $this->foot_h = 35;
            $this->ch = $this->page_h;
            $this->pdf = PDF_new();    
            $this->page_no = 0;            
            if (PDF_open_file($this->pdf, $this->temp_file) == 0) {
                    die("Error: " . PDF_get_errmsg($this->pdf));
            }        
            $this->font = pdf_findfont($this->pdf, "Arial", "cp1250", 0);
            $this->fontb = pdf_findfont($this->pdf, "Arial Bold", "cp1250", 0);
            PDF_set_info($this->pdf, "Creator", "print.php");
            PDF_set_info($this->pdf, "Author", "Dental IS");
            PDF_set_info($this->pdf, "Title", "Izvestaj");
            $this->begin_page();
        }
    }


 
Odgovor na temu

[es] :: PHP :: kreiranje pdf-a sa našim fontovima

[ Pregleda: 5124 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.