PHP kézikönyv
Előző
Következő
A ClibPDF segítségével PDF dokumentumokat lehet létrehozni PHP-vel.
Ez elérhető a FastIO -nál, de nem szabad használatú (free) szoftver.
Mielőtt dolgozni kezdesz a ClibPDF-fel tanácsos elolvasnod a licence-t.
Ha nem fogadod el, használhatod Thomas Merz pdflib-jét, amelyik szintén kiválóan alkalmazható.
A ClibPDF és az API hasonló Thomas Merz pdflib-jéhez de a FastIO-nak köszönhetően a ClibPDF gyorsabb, és ráadásul kisebb dokumentumokat állít elő.
Ez valószinűleg változni fog a pdflib 2.0 verziójában.
Egy egyszerű benchmark (a pdflib 2.0-ből php-ba fordított a pdfclock.c példa) nem mutat különbséget a sebességben.
A fájlméret is hasonló, ha kikapcsoljuk a tömörítést.
Tehát próbáld ki mindkettőt és nézd meg melyik jobb neked.
Ezt a dokumentációt ajánlatos a ClibPDF kézikönyvvel együtt olvasni mivel az a függvényeket nagyobb részletességgel magyarázza.
Sok függvény az alap ClibPDF-ben, a PHP modulban, valamint a pdflib-ben a ugyanazzal a névvel rendelkezik.
Az összes függvény, kivéve a cpdf_open() első paramétereként a dokumentum kezelőjét (handler) kéri.
Jelenleg ez a kezelőt a PHP belsőleg nem használja, mivel a ClibPDF nem támogatja több PDF dokumentum egyidejű létrehjozását.
Ezt most ne is próbáld ki, mert az eredményt nem lehet előre megjósolni.
Nem tudhatom, hogy a többszálas környezetben ez milyen következnényekkel járna.
A ClibPDF szerzője szerint ez változni fog a következő változatnál (az írás idején a jelenlegi verzió az 1.10).
Ha mégis szükséged van erre a lehetőségre, használd a pdflib modult.
Megjegyzés:
A cpdf_set_font() függvény megváltozott a PHP 3 óta, hogy támogassa az ázsiai betűkészleteket.
Az encoding paraméter már nem egy integer, hanem egy string!
A pdflib-el szemben van egy nagy előnye a ClibPDF-nek.
PDF doumentumokat tud létrehozni a memóriában ideiglenes fájlok használata nélkül.
Lehetőséget ad továbbá arra, hogy koordinátákat adj át egy előre definiált mértékegységben.
Ez egy nagyon jó lehetőség de szimulálható a pdf_translate() -el.
A legtöbb függvény egyszerűen használható.
A legnehezebb rész valószínűleg egy nagyon egyszerű PDF létrehozása.
A következő példa segíthet az elindulásban.
Ez egy egy oldalas dokumentumot készít.
Az oldal tartalmazza a "Times-Roman" szöveget egy 30 pont méretű körvonalas betűtípusssal.
A szöveg aláhúzott.
Példa 1.
Egyszerű ClibPDF példa
?php $cpdf = cpdf_open( 0); cpdf_page_init($cpdf, 1, 0, 595, 842); cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1"); cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding"); cpdf_set_text_rendering($cpdf, 1); cpdf_text($cpdf, "Times Roman outlined", 50, 750); cpdf_moveto($cpdf, 50, 740); cpdf_lineto($cpdf, 330, 740); cpdf_stroke($cpdf); cpdf_finalize($cpdf); Header("Content-type: application / pdf"); cpdf_output_buffer($cpdf); cpdf_close($cpdf);?
A pdflib csomag egy összetettebb példát tartalmaz, amely egy oldalsorozatot állít elő egy analóg órával.
Ez itt a ClibPDF kiterjesztést használó PHP-be konvertált változat:
Példa 2. pdfclock példa a pdflib 2.0 csomagból
Előző
Tartalom
Következő
Fel