Manußl PHP | ||
---|---|---|
P°edchßzejφcφ | Dal╣φ |
Pokud 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.
Od ·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
Starß funkce | Nßhrada |
---|---|
pdf_put_image() | Nenφ pot°eba. |
pdf_get_font() | pdf_get_value() s "font" jako druh² argument. |
pdf_get_fontsize() | pdf_get_value() s "fontsize" jako druh² argument. |
pdf_get_fontname() | pdf_get_parameter() s "fontname" jako druh² argument. |
pdf_set_info_creator() | pdf_set_info() s "Creator" jako druh² argument. |
pdf_set_info_title() | pdf_set_info() s "Title" jako druh² argument. |
pdf_set_info_subject() | pdf_set_info() s "Subject" jako druh² argument. |
pdf_set_info_author() | pdf_set_info() s "Author" jako druh² argument. |
pdf_set_info_keywords() | pdf_set_info() s "Keywords" jako druh² argument. |
pdf_set_leading() | pdf_set_value() s "leading" jako druh² argument. |
pdf_set_text_rendering() | pdf_set_value() s "textrendering" jako druh² argument. |
pdf_set_text_rise() | pdf_set_value() s "textrise" jako druh² argument. |
pdf_set_horiz_scaling() | pdf_set_value() s "horizscaling" jako druh² argument. |
pdf_set_text_matrix() | neexistuje |
pdf_set_char_spacing() | pdf_set_value() s "charspacing" jako druh² argument. |
pdf_set_word_spacing() | pdf_set_value() s "wordspacing" jako druh² argument. |
pdf_set_transition() | pdf_set_parameter() s "transition" jako druh² argument. |
pdf_set_duration() | pdf_set_value() s "duration" jako druh² argument. |
pdf_open_gif() | pdf_open_image_file() s "gif" jako druh² argument. |
pdf_open_jpeg() | pdf_open_image_file() s "jpeg" jako druh² argument. |
pdf_open_tiff() | pdf_open_image_file() s "tiff" jako druh² argument. |
pdf_open_png() | pdf_open_image_file() s "png" jako druh² argument. |
pdf_get_imagewidth() | pdf_get_value() s "imagewidth" jako druh² argument a obrßzkem jako t°etφ argument. |
pdf_get_imageheight() | pdf_get_value() s "imageheight" jako druh² argument a obrßzkem jako t°etφ argument. |
() | () |
Od pdflib 3.0 by se pdflib m∞la konfigurovat s volbou --enable-shared-pdflib.
Pokud 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.
V∞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):
P°φklad 2. pdfclock ukßzka z pdflib distribuce
PHP skript getpdf.php pouze vrßtφ v²tvo°en² PDF dokument.
|
P°edchßzejφcφ | Dom∙ | Dal╣φ |
overload | Nahoru | pdf_set_info |