Manuál PHP | ||
---|---|---|
Předcházející | Další |
CXX. PDF funkce
Úvod
PDF funkce v PHP mohou vytvořit PDF soubory s využitím knihovny PDFlib vytvořené Thomasem Merzem.
Dokumentace této sekce je myšlena pouze jako přehled dostupných funkcí v knihovně PDFlib a neměla by být považována za vyčerpávající přehled. Prosím konzultujte dokumentaci obsaženou v distribuci PDFlib pro úplné a detailní vysvětlené každé zde uvedené funkce. Poskytuje velmi dobrý přehled toho, co PDFlib dokáže a obsahuje nejčerstvější dokumentaci ke všem funkcím.
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í. Věnujte prosím pozornost dokumentaci pdflib, která je součástí distribuce zdrojového kódu, pro bližší vysvětlení použitého souřadnicového systému.
Vemte prosím na vědomí, že většina PDF funkcí vyžaduje
pdfdoc
jako první parametr. Viz
příklady níže pro bližší
vysvětlení.
Poznámka: Pokud se zajímáté o alternativní volně dostupné PDF generátory, které nepotřebují externí PDF knihovny, podívejte se na tuto související FAQ.
Požadavky
PDFlib lze stáhnout na https://www.pdflib.com/products/pdflib-family/, ale vyžaduje, abyste zakoupili licenci pro komerční použití. Pro zkompilování tohoto rozšíření jsou potřeba knihovny JPEG a TIFF.
Problémy se starými verzemi PDFlib
Žádná verze PHP 4 od data 9. března 2000 nepodporuje podflib starší než 3.0.
PDFlib 3.0 a vyšší je podporováno PHP 3.0.19 a vyšší.
Instalace
Abyste mohli tyto funkce používat, musíte PHP zkompilovat s volbou
--with-pdflib[=DIR]
. DIR je základní
instalační adresář PDFlib, výchozí hodnota je /usr/local.
Navíc můžete určit knihovny jpeg, tiff a png, které má PDFlib
používat, což je volitelné v PDFlib 4.x.
Pokud tak chcete učinit, přidejte volby configure
--with-jpeg-dir[=DIR]
--with-png-dir[=DIR]
--with-tiff-dir[=DIR]
.
Od pdflib 3.0 by se pdflib měla konfigurovat s volbou --enable-shared-pdflib.
Konfigurace běhu
Toto rozšíření nemá definováno žádné konfigurační direktivy.
Zmatek se starými verzemi PDFlib
Od PHP 4.0.5 je PHP rozšíření oficiálně podporováno společností PDFlib GmbH. To znamená, že všechny funkce popsané v PDFlib manuálu (V3.00 nebo vyšší) jsou podporovány v PHP 4 s přesně stejným významem a stejnými parametry. Oproti manuálu PDFlib se mohou lišit pouze návratové hodnoty, protože byla převzata konvence PHP pro vracení FALSE was adopted. Z důvodu kompatibility toto rozšíření PDFlib stále podporuje staré funkce, ale tyto by měly být nahrazeny jejich novějšími verzemi. PDFlib GmbH nepomáhá s řešením žádných problémů plynoucích z používání těchto zastaralých funkcí.
Tabulka 1. Zastaralé funkce a jejich náhrady
Stará funkce | Náhrada |
---|---|
pdf_put_image() | Není potřeba. |
pdf_execute_image() | Není potřeba. |
pdf_get_annotation() | pdf_get_bookmark() se stejnými parametry. |
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_open() | pdf_new() plus následné zavolání pdf_open_file() |
pdf_set_font() | pdf_findfont() plus následné zavolání pdf_setfont() |
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_image_width() | pdf_get_value() s "imagewidth" jako druhý argument a obrázkem jako třetí argument. |
pdf_get_image_height() | pdf_get_value() s "imageheight" jako druhý argument a obrázkem jako třetí argument. |
Příklady
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 3. pdfclock ukázka z pdflib distribuce
|
Viz také
Poznámka: Existuje další PHP modul na tvorbu PDF dokumentů, založený na ClibPDF od firmy FastIO. Detaily viz ClibPDF funkce. Má mírně jinou API.
- Obsah
- PDF_activate_item -- Activate structure element or other content item
- PDF_add_annotation -- Add annotation [deprecated]
- PDF_add_bookmark -- Add bookmark for current page [deprecated]
- PDF_add_launchlink -- Add launch annotation for current page [deprecated]
- PDF_add_locallink -- Add link annotation for current page [deprecated]
- PDF_add_nameddest -- Create named destination
- PDF_add_note -- Set annotation for current page [deprecated]
- PDF_add_outline -- Add bookmark for current page [deprecated]
- PDF_add_pdflink -- Add file link annotation for current page [deprecated]
- PDF_add_thumbnail -- Add thumbnail for current page
- PDF_add_weblink -- Add weblink for current page [deprecated]
- PDF_arc -- Draw a counterclockwise circular arc segment
- PDF_arcn -- Draw a clockwise circular arc segment
- PDF_attach_file -- Add file attachment for current page [deprecated]
- PDF_begin_document -- Create new PDF file
- PDF_begin_font -- Start a Type 3 font definition
- PDF_begin_glyph -- Start glyph definition for Type 3 font
- PDF_begin_item -- Open structure element or other content item
- PDF_begin_layer -- Start layer
- PDF_begin_page_ext -- Start new page
- pdf_begin_page -- Začít novou stranu
- PDF_begin_pattern -- Start pattern definition
- PDF_begin_template -- Start template definition
- PDF_circle -- Draw a circle
- PDF_clip -- Clip to current path
- PDF_close_image -- Close image
- PDF_close_pdi_page -- Close the page handle
- PDF_close_pdi -- Close the input PDF document
- pdf_close -- Zavřít PDF dokument
- PDF_closepath_fill_stroke -- Close, fill and stroke current path
- PDF_closepath_stroke -- Close and stroke path
- PDF_closepath -- Close current path
- PDF_concat -- Concatenate a matrix to the CTM
- PDF_continue_text -- Output text in next line
- PDF_create_action -- Create action for objects or events
- PDF_create_annotation -- Create rectangular annotation
- PDF_create_bookmark -- Create bookmark
- PDF_create_field -- Create form field
- PDF_create_fieldgroup -- Create form field group
- PDF_create_gstate -- Create graphics state object
- PDF_create_pvf -- Create PDFlib virtual file
- PDF_create_textflow -- Create textflow object
- PDF_curveto -- Draw Bezier curve
- PDF_define_layer -- Create layer definition
- PDF_delete_pvf -- Delete PDFlib virtual file
- PDF_delete_textflow -- Delete textflow object
- PDF_delete -- Delete PDFlib object
- PDF_encoding_set_char -- Add glyph name and/or Unicode value
- PDF_end_document -- Close PDF file
- PDF_end_font -- Terminate Type 3 font definition
- PDF_end_glyph -- Terminate glyph definition for Type 3 font
- PDF_end_item -- Close structure element or other content item
- PDF_end_layer -- Deactivate all active layers
- PDF_end_page_ext -- Finish page
- pdf_end_page -- Ukončit stranu
- PDF_end_pattern -- Finish pattern
- PDF_end_template -- Finish template
- PDF_endpath -- End current path
- PDF_fill_imageblock -- Fill image block with variable data
- PDF_fill_pdfblock -- Fill PDF block with variable data
- PDF_fill_stroke -- Fill and stroke path
- PDF_fill_textblock -- Fill text block with variable data
- PDF_fill -- Fill current path
- PDF_findfont -- Prepare font for later use [deprecated]
- PDF_fit_image -- Place image or template
- PDF_fit_pdi_page -- Place imported PDF page
- PDF_fit_textflow -- Format textflow in rectangular area
- PDF_fit_textline -- Place single line of text
- PDF_get_apiname -- Get name of unsuccessfull API function
- PDF_get_buffer -- Get PDF output buffer
- PDF_get_errmsg -- Get error text
- PDF_get_errnum -- Get error number
- PDF_get_font -- Get font [deprecated]
- PDF_get_fontname -- Get font name [deprecated]
- PDF_get_fontsize -- Font handling [deprecated]
- PDF_get_image_height -- Get image height [deprecated]
- PDF_get_image_width -- Get image width [deprecated]
- PDF_get_majorversion -- Get major version number [deprecated]
- PDF_get_minorversion -- Get minor version number [deprecated]
- PDF_get_parameter -- Get string parameter
- PDF_get_pdi_parameter -- Get PDI string parameter
- PDF_get_pdi_value -- Get PDI numerical parameter
- PDF_get_value -- Get numerical parameter
- PDF_info_textflow -- Query textflow state
- PDF_initgraphics -- Reset graphic state
- PDF_lineto -- Draw a line
- PDF_load_font -- Search and prepare font
- PDF_load_iccprofile -- Search and prepare ICC profile
- PDF_load_image -- Open image file
- PDF_makespotcolor -- Make spot color
- PDF_moveto -- Set current point
- PDF_new -- Create PDFlib object
- PDF_open_ccitt -- Open raw CCITT image [deprecated]
- PDF_open_file -- Create PDF file [deprecated]
- PDF_open_gif -- Open GIF image [deprecated]
- PDF_open_image_file -- Read image from file [deprecated]
- PDF_open_image -- Use image data [deprecated]
- PDF_open_jpeg -- Open JPEG image [deprecated]
- PDF_open_memory_image -- Open image created with PHP's image functions [not supported]
- PDF_open_pdi_page -- Prepare a page
- PDF_open_pdi -- Open PDF file
- PDF_open_tiff -- Open TIFF image [deprecated]
- PDF_place_image -- Place image on the page [deprecated]
- PDF_place_pdi_page -- Place PDF page [deprecated]
- PDF_process_pdi -- Process imported PDF document
- PDF_rect -- Draw rectangle
- PDF_restore -- Restore graphics state
- PDF_resume_page -- Resume page
- PDF_rotate -- Rotate coordinate system
- PDF_save -- Save graphics state
- PDF_scale -- Scale coordinate system
- PDF_set_border_color -- Set border color of annotations [deprecated]
- PDF_set_border_dash -- Set border dash style of annotations [deprecated]
- PDF_set_border_style -- Set border style of annotations [deprecated]
- PDF_set_char_spacing -- Set character spacing [deprecated]
- PDF_set_duration -- Set duration between pages [deprecated]
- PDF_set_gstate -- Activate graphics state object
- PDF_set_horiz_scaling -- Set horizontal text scaling [deprecated]
- PDF_set_info_author -- Fill the author document info field [deprecated]
- PDF_set_info_creator -- Fill the creator document info field [deprecated]
- PDF_set_info_keywords -- Fill the keywords document info field [deprecated]
- PDF_set_info_subject -- Fill the subject document info field [deprecated]
- PDF_set_info_title -- Fill the title document info field [deprecated]
- pdf_set_info -- Vyplnit položku informací o dokumentu
- PDF_set_layer_dependency -- Define relationships among layers
- pdf_set_leading -- Nastavit vzdálenost mezi řádky
- pdf_set_parameter -- Nastavit určité parametry
- PDF_set_text_matrix -- Set text matrix [deprecated]
- PDF_set_text_pos -- Set text position
- PDF_set_text_rendering -- Determine text rendering [deprecated]
- PDF_set_text_rise -- Set text rise [deprecated]
- PDF_set_value -- Set numerical parameter
- PDF_set_word_spacing -- Set spacing between words [deprecated]
- PDF_setcolor -- Set fill and stroke color
- PDF_setdash -- Set simple dash pattern
- PDF_setdashpattern -- Set dash pattern
- PDF_setflat -- Set flatness
- PDF_setfont -- Set font
- PDF_setgray_fill -- Set fill color to gray [deprecated]
- PDF_setgray_stroke -- Set stroke color to gray [deprecated]
- PDF_setgray -- Set color to gray [deprecated]
- PDF_setlinecap -- Set linecap parameter
- PDF_setlinejoin -- Set linejoin parameter
- PDF_setlinewidth -- Set line width
- PDF_setmatrix -- Set current transformation matrix
- PDF_setmiterlimit -- Set miter limit
- PDF_setpolydash -- Set complicated dash pattern [deprecated]
- PDF_setrgbcolor_fill -- Set fill rgb color values [deprecated]
- PDF_setrgbcolor_stroke -- Set stroke rgb color values [deprecated]
- PDF_setrgbcolor -- Set fill and stroke rgb color values [deprecated]
- PDF_shading_pattern -- Define shading pattern
- PDF_shading -- Define blend
- PDF_shfill -- Fill area with shading
- pdf_show_boxed -- Vytisknout text v rámečku
- pdf_show_xy -- Vytisknout text na určené pozici
- pdf_show -- Umístit text na aktuální pozici
- PDF_skew -- Skew the coordinate system
- PDF_stringwidth -- Return width of text
- PDF_stroke -- Stroke path
- PDF_suspend_page -- Suspend page
- PDF_translate -- Set origin of coordinate system
- PDF_utf16_to_utf8 -- Convert string from UTF-16 to UTF-8
- PDF_utf8_to_utf16 -- Convert string from UTF-8 to UTF-16
Předcházející | Domů | Další |
preg_split | Nahoru |