Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   





Clic aici
PC Magazine





Soluții - PC Magazine Romania, Iulie 2004

PDF din PHP

Cantemir Mihu

Motivul pentru care PHP a cunoscut o răspândire așa de puternică se datorează mai multor cauze. Una dintre ele este rapida adaptare la tehnologii noi, extensibilitatea nativă, care îi ajută pe programatori să adauge module noi nucleului. În plus, larga comunitate de programatori se află într-o continuă luptă pentru integrarea și suportul noilor "invenții" în materie de programare web. Prin extensiile existente astăzi, limbajul PHP oferă suport pentru acces la baze de date, pentru compresie, manipulare conținut XML, acces la servicii de tip IMAP sau POP3, crearea de aplicații de tip window (PHP-GTK), funcții destinate plăților online prin diferite sisteme, generare de imagini sau animații flash.

Cu toate că aceste facilități nu sunt incluse în modul nucleu, ele sunt disponibile fie ca extensii compilate, fie ca librării de funcții în pachete speciale. Scopul articolului este de a prezenta variantele disponibile pentru generarea fișierelor PDF, fișiere destinate schimbului electronic sigur și de încredere a documentelor, a căror conținut trebuie să apară în exact același mod pe orice fel de calculator.

Programul necesar vizualizării documentelor PDF precum și informațiile de referință ale structurii fișierelor PDF se găsesc la www.adobe.com Datorită publicării formatului fișierelor, firma Adobe a deschis drumul folosirii pe scară largă a acestora. Din această cauză și în limbajul PHP a fost ușoară integrarea suportului pentru PDF, existând la ora actuală mai multe implementări.

PDFLib - www.pdflib.com

Prima variantă, și probabil cea mai folosită este PDFLib, creată de o firmă din Germania. PDFLib este disponibilă gratuit pentru teste, dar pentru uz comercial este necesară o licență. PDFLib este o librărie compilată, distribuită în mod binar, cu suport pentru diverse limbaje de programare (C, C++, Java, .NET, PHP, TCL, python). Împreună cu PHP, librăria poate fi folosită în două feluri: printr-un modul dinamic sau prin recompilarea și includerea statică în executabilul PHP. Evident, a doua variantă este mai dificilă și necesită experiență din partea utilizatorului, dar necesară dacă sistemul nu suportă librării dinamice. Odată instalate, funcțiile API pentru prelucrare PDF vor putea fi direct apelate din cadrul unui script PHP, la fel ca orice altă funcție PHP. Cel mai mare avantaj al acestei librării îl reprezintă probabil viteza de generare, implicată de faptul că librăria în sine este compilată și nu interpretată, ca în cazul altor variante de generare PDF. Aceasta o face singura opțiune posibilă în cazul aplicațiilor cu mulți utilizatori, unde viteza, performanța și stabilitatea sunt critice. PDFLib, în varianta completă cu PDI asigură suport pentru prelucrare a unor PDF-uri existente, facilitate rar întâlnită la alte produse de același fel. Creatorii PDFLib au introdus chiar un concept nou, cel al zonelor de date (PDFLib blocks), a căror conținut poate fi completat dinamic. Aceste zone sunt asemănătoare, dar superioare cu formele și câmpurile existente în fișierele PDF.

YaPS - www.interakt.ro

Sistemul YaPS face parte din grupul de programe cu licență GPL al firmei Interakt. YaPS este deci Open Source și creat special pentru generare de documente PostScript și PDF. Librăria este scrisă cu funcții native PHP, dar pentru conversia din PS în PDF este necesar utilitarul GhostScript (www.ghostscript.com). YaPS este o alternativă bazată atât pe cod interpretat, cât și pe cod compilat. Pe lângă YaPS, firma Interakt a creat un utilitar special pentru generare rapoarte, datele provenind din diverse baze de date suportate. Utilitarul se numește PDFreports, iar varianta sa Open Source se numește PDFreportsLite. PDFreports și PDFreportsLite au ca nucleu de bază sistemul YaPS, dar sunt specializate pe procesarea de documente XML, cu scopul predefinit de a genera rapoarte din baze de date.

FPDF - www.fpdf.org

FPDF este o clasă scrisă complet în PHP. Conceptul din spatele acestei clase este evident simplitatea în folosire, tot ce trebuie pentru a o folosi fiind incluziunea unui singur fișier sursă PHP. Pe lângă faptul că FPDF este complet gratuit și Open Source, pe situl fpdf.org se găsesc diverse exemple și scripturi utilitare, manuale în diferite limbi, inclusiv română, precum și un tutorial foarte concludent. FPDF nu necesită nimic suplimentar pentru a funcționa, este scris complet în PHP nativ și este probabil opțiunea cea mai bună pentru un mediu nepretențios în care simplitatea este de preferat vitezei. Dezavantajele sunt evidente însă. Fiind complet interpretată, metoda de generare este mult inferioară ca viteză uneia similare compilate, iar facilitățile oferite sunt mult inferioare unui sistem mai avansat precum PDFLib. Lipsește de asemenea suportul pentru prelucrarea unor PDF-uri existente. API-ul, mult ușurat față de cel al PDFLib prin încapsulare într-o clasă, este gândit astfel încât generarea unui PDF să se bazeze mai mult pe moștenire decât pe apel de funcții.


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2004 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro