Funcții PDF. Crearea unui document PDF dintr-un script PHP folosind biblioteca FPDF Crearea unui PDF într-un script PHP

Funcții PDF Introducere

Funcțiile PDF din PHP pot crea fișiere PDF folosind biblioteca PDFlib de Thomas Merz.

Documentația din această secțiune este o prezentare generală a funcționalității PDFlib și nu este destinată a fi o referință cuprinzătoare. Consultați documentația de distribuție PDFlib însoțitoare. Conține o privire de ansamblu cuprinzătoare a capabilităților funcțiilor PDFlib și cele mai recente informații despre toate funcțiile.

În biblioteca PDFlib și în modulul PHP, toate funcțiile și parametrii au nume identice. Trebuie să înțelegeți câteva concepte de bază PDF și PostScript pentru a utiliza această extensie în mod eficient.
Toate dimensiunile și coordonatele sunt măsurate în puncte PostScript. De obicei, există 72 PostScript ppi, dar acest lucru depinde de rezoluția de ieșire. Consultați documentația PDFlib inclusă cu distribuția PDFlib pentru o explicație a sistemului de coordonate utilizat.

Vă rugăm să rețineți că majoritatea funcțiilor PDF necesită obiect pdf ca prim parametru. Vezi exemple de mai jos.

Notă: Există un modul PHP alternativ pentru crearea de documente PDF bazate pe ClibPDF de la FastIO. Rețineți că ClibPDF are un API ușor diferit de PDFlib.

Cerințe

PDFlib este disponibil pentru descărcare la http://www.pdflib.com/products/pdflib/index.html, dar necesită o licență plătită pentru utilizare comercială. Bibliotecile JPEG și TIFF sunt necesare la compilarea acestei extensii.

Pentru a utiliza aceste funcții în PHP

Când utilizați versiunea 3.x a PDFlib, trebuie să configurați PDFlib cu opțiunea --enable-shared-pdflib.

În PHP 4.3.9, trebuie să instalați această extensie prin PEAR folosind următoarea comandă: pear install pdflib.

Intră în conflict cu versiunile mai vechi ale PDFlib

Începând cu PHP 4.0.5, extensia PHP pentru PDFlib este acceptată oficial de PDFlib GmbH. Aceasta înseamnă că toate funcțiile descrise în tutorialul PDFlib (V3.00 sau mai mare) sunt acceptate în PHP 4 cu exact aceleași valori și parametri. Numai valorile returnate pot diferi de tutorialul PDFlib, deoarece este folosită convenția PHP de returnare a FALSE. Din motive de compatibilitate, această legare PDFlib acceptă în continuare funcțiile vechi, dar acestea ar trebui înlocuite cu versiuni mai noi ale acestora. PDFlib GmbH nu va lua în considerare problemele apărute la utilizarea acestor funcții vechi.

Funcția veche Înlocuire
pdf_put_image() Nu mai este nevoie.
pdf_execute_image() Nu mai este nevoie.
pdf_get_annotation() pdf_get_bookmark() folosind aceiași parametri.
pdf_get_font() pdf_get_value() trecând „font” ca al doilea parametru.
pdf_get_fontsize() pdf_get_value() trecând „fontsize” ca al doilea parametru.
pdf_get_fontname() pdf_get_parameter() trecând „fontname” ca al doilea parametru.
pdf_set_info_creator() pdf_set_info() trecând „Creator” ca al doilea parametru.
pdf_set_info_title() pdf_set_info() trecând „Titlu” ca al doilea parametru.
pdf_set_info_subject() pdf_set_info() trecând „Subiect” ca al doilea parametru.
pdf_set_info_author() pdf_set_info() trecând „Author” ca al doilea parametru.
pdf_set_info_keywords() pdf_set_info() trecând „Keywords” ca al doilea parametru.
pdf_set_leading() pdf_set_value() trecând „leading” ca al doilea parametru.
pdf_set_text_rendering() pdf_set_value() trecând „textrendering” ca al doilea parametru.
pdf_set_text_rise() pdf_set_value() trecând „textrise” ca al doilea parametru.
pdf_set_horiz_scaling() pdf_set_value() trecând „horizscaling” ca al doilea parametru.
pdf_set_text_matrix() Nu mai este disponibil.
pdf_set_char_spacing() pdf_set_value() trecând „carspacing” ca al doilea parametru.
pdf_set_word_spacing() pdf_set_value() trecând „wordspacing” ca al doilea parametru.
pdf_set_transition() pdf_set_parameter() trecând „tranziție” ca al doilea parametru.
pdf_open() pdf_new() plus un apel ulterior la pdf_open_file()
pdf_set_font() pdf_findfont() plus un apel ulterior la pdf_setfont()
pdf_set_duration() pdf_set_value() care trece „duration” ca al doilea parametru.
pdf_open_gif() pdf_open_image_file() trecând „gif” ca al doilea parametru.
pdf_open_jpeg() pdf_open_image_file() trecând „jpeg” ca al doilea parametru.
pdf_open_tiff() pdf_open_image_file() trecând „tiff” ca al doilea parametru.
pdf_open_png() pdf_open_image_file() trecând „png” ca al doilea parametru.
pdf_get_image_width() pdf_get_value() trecând „imagewidth” ca al doilea parametru și imaginea ca al treilea parametru.
pdf_get_image_height() pdf_get_value() trecând „imageheight” ca al doilea parametru și imaginea ca al treilea parametru.
Sfaturi de instalare PDFlib 3.x

Când utilizați versiunea 3.x a PDFlib, trebuie să configurați PDFlib cu opțiunea
--enable-shared-pdflib .

Întrebări despre versiunile mai vechi de PDFlib

PDFlib 3.0 sau o versiune ulterioară este acceptată în PHP 3.0.19 și versiunile ulterioare.

Exemple

Majoritatea funcțiilor sunt destul de ușor de utilizat. Cea mai grea parte este probabil crearea unui document PDF foarte simplu. Următorul exemplu ar trebui să vă ajute să începeți. Se creează test.pdf dintr-o singură pagină. Această pagină conține textul „Times Roman conturat” în font conturat de 30 pt. Textul este de asemenea subliniat.

Exemplul 1: Crearea unui document PDF folosind PDFlib

Scriptul getpdf.php returnează un document pdf:

Distribuția PDFlib conține un exemplu mai complex în care este creată o pagină cu un ceas analogic. Aici folosim funcția de creare în memorie a PDFlib pentru a evita utilizarea fișierelor temporare. Acest exemplu, convertit în PHP din exemplul PDFlib, este următorul: (Același exemplu este disponibil în documentația CLibPDF.)

Exemplul 2. pdfclock din distribuția PDFlib