| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LXXIV. PDF funkceIntroductionPokud mßte PDF knihovnu od Thomase Merze (dostupnß z http://www.pdflib.com/pdflib/index.html), m∙╛ete pou╛φvat PDF funkce na tvorbu PDF soubor∙; ke kompilaci budete pot°ebovat takΘ JPEG knihovnu a TIFF knihovnu. Tyto dv∞ knihovny pom∞rn∞ Φasto d∞lajφ potφ╛e p°i konfiguraci PHP. P°i °e╣enφ p°φpadn²ch problΘm∙ se °i∩te chybov²mi zprßvami configure skriptu. V∞nujte prosφm pozornost v²bornΘ dokumentaci pdflib, kterß je souΦßstφ distribuce zdrojovΘho k≤du. Poskytuje velmi dobr² p°ehled schopnostφ pdflib. V∞t╣ina funkcφ pdflib a p°φslu╣nΘho PHP modulu mß stejnΘ jmΘno. Argumenty jsou takΘ identickΘ. Pokud chcete tento modul vyu╛φvat opravdu efektivn∞, m∞li byste chßpat takΘ n∞kterΘ z koncept∙ PDF nebo Postscriptu. V╣echny rozm∞ry a koordinßty se udßvajφ v Postscriptov²ch bodech. Obecn∞ je 72 PostScriptov²ch bod∙ na palec, ale zßvisφ to na v²stupnφm rozli╣enφ. Existuje dal╣φ PHP modul na tvorbu PDF dokument∙, zalo╛en² na ClibPDF od firmy FastIO. Mß mφrn∞ jinou API. Detaily viz ClibPDF funkce. Tento PDF modul zavßdφ nov² typ prom∞nnΘ. Naz²vß se pdfdoc. pdfdoc je pointer na PDF dokument a tΘm∞° v╣echny funkce ho vy╛adujφ jako sv∙j prvnφ argument. Zmatek se star²mi verzemi pdflibOd ·plnΘho zaΦßtky podpory PDF v PHP — od pdflib 0.6 — do╣lo k mnoha zm∞nßm zvlß╣t∞ v API pdflib. V∞t╣inu t∞chto zm∞n PHP n∞jak zakrylo, n∞kterΘ vy╛adovaly zm∞nu PHP API. Od pdflib 3.x se API snad stabilizovala, a PHP 4 p°ijala tuto verzi jako mimimßlnφ pro podporu PDF. Nßsledkem toho mnoho funkcφ d°φve Φi pozd∞ji zmizφ nebo bude nahra╛eno alternativami. Podpora pdflib 0.6 u╛ byla naprosto ukonΦena. Nßsledujφcφ tabulka vyjmenovßvß v╣echny funkce, kterΘ jsou od PHP 4.0.2 zastaralΘ a m∞ly by b²t nahra╛eny jejich nov∞j╣φmi verzemi.
Tabulka 1. ZastaralΘ funkce a jejich nßhrady
Rady pro instalaci pdflib 3.xOd pdflib 3.0 by se pdflib m∞la konfigurovat s volbou --enable-shared-pdflib. ProblΘmy se star╣φmi verzemi pdflibPokud pou╛φvßte pdflib 2.01, zkontrolujte, jak je tato knihovna nainstalovßna. M∞li byste mφt soubor libpdf.so, nebo link na n∞j. Verze 2.01 vytvß°φ soubor libpdf2.01.so, kter² se nedß najφt p°i linkovßnφ testovacφho souboru v configure. Budete muset vytvo°it symbolick² link z libpdf.so na libpdf2.01.so. Ve verzi 2.20 p°ibyly dal╣φ zm∞ny v API pdflib a podpora Φφnsk²ch a japonsk²ch font∙. Pokud pou╛φvßte pdflib 2.20 bu∩te opatrnφ p°i generovßnφ PDF dokument∙ v pam∞ti. Do verze pdflib 3.0 by mohlo b²t nestabilnφ. Argument k≤dovßnφ v pdf_set_font() se zm∞nil na °et∞zec. To znamenß, ╛e mφsto nap°. 4 musφte pou╛φt 'winansi'. Pokud pou╛φvßte pdflib 2.30, nemßte k dispozici pdf_set_text_matrix(). P°estala b²t podporovßna. Obecnou radou je zjistit si p°φpadnΘ zm∞ny v release notes pou╛φvanΘ verze pdflib. «ßdnß verze PHP 4 od data 9. b°ezna 2000 nepodporuje podflib star╣φ ne╛ 3.0. Na druhou stranu, PHP 3 by se nem∞lo pou╛φvat s nov∞j╣φ verzφ pdflib ne╛ 2.01. UkßzkyV∞t╣ina funkcφ se pou╛φvß docela snadno. Nejt∞╛╣φ je z°ejm∞ v∙bec n∞jak² jednoduch² PDF dokument v∙bec vytvo°it. Nßsledujφcφ ukßzka by m∞la pomoci zaΦφt. Vytvo°φ soubor test.pdf s jednou strßnkou. Tato strßnka obsahuje text "Times Roman outlined" napsan² 30ti bodov²m obrysem. Text je takΘ podtr╛en².
Distribuce pdflib obsahuje rozsßhlej╣φ ukßzku, kterß obsahuje sΘrii strßnek s analogov²mi hodinami. Tato ukßzka p°evedenß do PHP vypadß takto (stejnou ukßzku najdete v dokumentaci k clibpdf modulu):
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|