Generarea fișierelor PDF cu PHP

Cuprins
Fișierele PDF Acestea au devenit practic un standard pe web pentru transmiterea documentelor, asigurându-se că nu își pierd formatul la schimbarea platformei și că vor fi tipărite exact așa cum sunt văzute, în plus nu sunt modificabile dacă am aplicat anumite controale la aceeași.
Aceasta înseamnă că atunci când ni se cere să generăm o ieșire în stil de raport dintr-un sistem pe care l-am creat PHP, una dintre opțiuni împreună cu generarea unui fișier CSV este generarea unui fișier PDF.
FPDFPentru a rezolva această problemă ne putem susține în comunitate PHP și obțineți biblioteca FPDF, care nu are nevoie de nicio configurație suplimentară a serverului. Acest lucru face ca această bibliotecă să fie de mare ajutor și să o putem implementa chiar și în servicii Distribuiți găzduirea unde accesul la setări este de obicei limitat de furnizorul de servicii.
Pentru a crea primul nostru document PDF mai întâi trebuie să ne asigurăm că înțelegem ce este un fișier PDF. Acronimele sale corespund englezei din Format document portabil și a fost creat de companie Chirpici pentru a facilita modul în care sunt împărtășite diferitele documente pe care le putem genera și pe care trebuie să le trimitem altor persoane.
A PDF Se compune dintr-un număr de pagini care merg de la o pagină la cele pe care le rezistă memoria echipamentului nostru. Fiecare pagină va conține text, grafică, culori, imagini etc. La generarea unui PDF, acest lucru poate fi descărcat din browser sau cu unele suplimente poate fi citit și afișat online direct, de aceea este atât de puternic, singurul său defect și, de asemenea, una dintre cele mai mari virtuți este că nu este făcut pentru a fi modificat în acest moment.
Deoarece ne-am făcut temele pentru a înțelege partea din spatele și înainte de cod, vom genera primul nostru fișier. Vom crea un document cu o singură pagină și în aceasta vom include un text mic.
Cum să o facă?Pentru a atinge obiectivul trebuie să creăm un nou document PHP iar în prima linie după deschiderea etichetelor trebuie să facem includerea bibliotecii FPDF, vom face acest lucru cu instrucțiunea require () întrucât în ​​acest fel, dacă nu găsim biblioteca, programul va da o eroare și, prin urmare, nu vor exista posibilități ca ceva să fie executat și să obțină un rezultat nedorit.
Apoi vom crea un tip de obiect FPDF pe care urmează să aplicăm unele metode, cum ar fi adauga pagina () pentru a adăuga o nouă frunză viitorului nostru PDF, sau celula () pentru a crea o secțiune în interiorul foii și în cele din urmă ieșire () care este cel care trimite rezultatul către browser.
Să vedem exemplul de cod, astfel încât să putem înțelege tot ce am explicat:
 adauga pagina (); $ pdf-> setFont ("Arial", "B", 18); $ pdf-> celulă (50, 20, "Bună ziua! Am creat primul nostru PDF !!"); $ pdf-> output (); 

Aici singurul lucru suplimentar pe care îl vedem este metoda setFont () care ne permite să alegem familia de fonturi pentru text, stilul său, adică dacă este cursiv, cu caractere italice bold și dimensiunea sa în pixeli, în cazul codului am plasat Arial, B pentru bold și o dimensiune de 18 pixeli.
În metodă celula () primii parametri se referă la localizarea textului în cadrul documentului, iar ultimul este textul care ar trebui să apară. In cele din urma ieșire () ne oferă rezultatul care trebuie afișat. Când rulați acest lucru pe un server de testare, cum ar fi Wamp, putem vedea un rezultat similar cu următorul:

MARI

Putem observa setul de comenzi din partea superioară care ne arată că PDF a fost interpretat de browser fără nicio problemă.
Ceea ce am văzut poate funcționa pentru a ieși dintr-un document rapid și fără multe cereri, totuși asta nu înseamnă că PDF nu ar putea fi mai complexe și să aibă mai multe detalii.
La crearea instanței de FPDF, putem defini câțiva parametri în constructorul clasei care ne pot ajuta să îi oferim mai multe elemente care pot varia stilul nostru PDF, putem trece de la lucruri la fel de simple ca de exemplu schimbarea orientării documentului de la portret la peisaj la schimbarea sistemului metric cu care va lua distanțele.
Să vedem câteva dintre proprietățile pe care le putem modifica atunci când generăm un PDF cu FPDF în PHP:
OrientareAvem două opțiuni posibile P pentru forma verticală sau portret de unde inițialul său de Modul portret în engleză și avem L pentru format peisaj sau Peisaj corespunzând și limbii engleze.
Unitate de măsurăPentru unitatea de măsură avem trei opțiuni pt pentru puncte, în pentru centimetri și cm Pentru centimetri, în funcție de țara în care trăim și de rezultatele pe care le dorim, putem varia unitatea de măsură la ceva care ne este mai confortabil.
Mărimea paginiiO altă caracteristică vitală, deoarece, în general, pentru tipărirea documentelor, trebuie să stabilim o dimensiune adecvată pentru documentul nostru, aici avem Scrisoare pentru dimensiunea scrisorii, Legal pentru dimensiunea legală, atunci avem alte formate populare precum A3, A5 sau A4. Dacă ne adâncim în documentația FPDF Putem vedea chiar că există posibilitatea de a genera propriile dimensiuni pentru foaie.
Deoarece am aflat că există caracteristici suplimentare pentru a genera documentul nostru, este timpul să generăm un nou exemplu, pentru aceasta vom aplica configurațiile în constructorul clasei și vom folosi coordonatele pentru a localiza elementele în aceeași foaie.
Coordonatele (0,0) este un sistem care ne permite să localizăm elementul într-un plan orizontal X și Y vertical al nostru PDF cu aceasta putem controla exact locația acestor elemente. Să ne uităm la cod, astfel încât să putem avea o impresie pentru toate acestea:
 adauga pagina (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> celulă (0,0, „Colțul din stânga sus”, 0, 0, „L”); $ pdf-> celulă (0,0, „Colțul din dreapta sus”, 0, 0, „R”); $ pdf-> ln (2.5); $ pdf-> celulă (0, 0, „În mijloc”, 0, 0, „C”); $ pdf-> ln (5.3); $ pdf-> celulă (0, 0, „Stânga jos”, 0, 0, „L”); $ pdf-> celulă (0, 0, „Jos dreapta”, 0, 0, „R”); $ pdf-> output (); 

În primul rând, vedem că după ce am inclus biblioteca noastră FPDF vom crea obiectul corespunzător, în constructorul clasei trecem orientarea P, unitatea de măsură în și în cele din urmă dimensiunea foii scrisoare, apoi adăugăm o pagină și următorul act setăm fontul pentru text.
Cu coordonatele vom juca puțin și le vom schimba pentru a vedea diferența cu axa verticală, în dreapta metodei celulă vedem câteva numere suplimentare, acestea sunt folosite pentru a crea linii și litere L, R sau C corespunde justificării textului, adică aliniat la stânga, la dreapta sau la centru.
Metoda ln () ne permite să trecem o măsură astfel încât să fie generat un spațiu, ca acesta în acest exemplu ln (2,5) se va deplasa cu 2,5 inci înainte de următoarea apelare a metodei celula () de aceea vedem că în generația următorului text care spune În mijloc va apărea mult mai jos în document. Să vedem cum arată acest lucru când rulăm pe serverul local:

Observăm în partea de sus cum arată jocul nostru cu coordonatele în care primul text este mult mai mare decât al doilea și spațiile generate în document. Dacă coborâm, putem vedea partea inferioară a documentului nostru și locația textului pe care l-am plasat.
Fonturi și stiluri incluseDeoarece am văzut cum să creăm un document într-un mod de bază, vom vedea ce stiluri de text avem disponibile inițial cu biblioteca noastră FPDF.
Fonturile pe care le putem plasa în mod implicit sunt:
  • Arial.
  • Times
  • Helvetica
  • Curier
  • Simbol
  • ZapfDingbats
Cu toate acestea, putem folosi fonturi personalizate pur și simplu având fișierul corespunzător și le putem adăuga cu metoda addFont (). Stilurile pe care le putem folosi sunt:
  • B pentru îndrăzneț.
  • Eu pentru cursiv.
  • U pentru subliniere.
De exemplu, pentru a include toate aceste stiluri, este suficient să le așezăm una lângă alta în momentul în care definim fontul textului:
$ pdf-> setFont ("Courier", 'IBU', 10);

Observăm atunci că este foarte ușor să schimbi acest lucru. Dacă dorim să adăugăm și o culoare, trebuie doar să apelăm metoda setTextColor și transmiteți codul acestuia în format RGB. De exemplu:
$ pdf-> setTextColor (255, 0, 0);

Pentru o culoare roșie a textului nostru. Ca o sarcină, vom lăsa aceste noi instrucțiuni să se aplice în unele dintre PDF deja creat în tutorial într-un mod care întărește cunoștințele.
Cu aceasta am terminat, am învățat să generăm fișiere PDF într-un mod simplu și foarte rapid numai prin includerea unei biblioteci în proiectul nostru în PHP. Este foarte important să vedeți documentația oficială a FPDF deoarece există și alte caracteristici care ne pot ajuta să creăm documente mai bune.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave