Generiranje PDF datoteka s PHP -om

Sadržaj
Datoteke PDF Oni su postali praktički standard na webu za prijenos dokumenata, osiguravajući da ne izgube format pri promjeni platformi i da će također biti ispisani točno onako kako se vide, osim toga ne mogu se mijenjati ako smo primijenili određene kontrole za iste.
To znači da kada se od nas traži da generiramo izlaz u stilu izvješća iz sustava u kojem smo stvorili PHP, jedna od opcija zajedno s generiranjem datoteke CSV je generiranje datoteke PDF.
FPDFKako bismo riješili ovaj problem, možemo se podržati u zajednici PHP i nabavite knjižnicu FPDF, za koju nije potrebna dodatna konfiguracija poslužitelja. To ovu knjižnicu čini velikom pomoći i možemo je implementirati čak i u usluge Podijelite hosting gdje je pristup postavkama obično ograničen od strane davatelja usluga.
Za izradu našeg prvog dokumenta PDF prvo se moramo uvjeriti da razumijemo što je datoteka PDF. Njegove kratice odgovaraju engleskom of Prijenosni format dokumenta a stvorila ga je tvrtka Adobe kako bismo olakšali način na koji se različiti dokumenti koje možemo generirati i koje moramo poslati drugim ljudima dijele.
A PDF Sastoji se od niza stranica koje idu od jedne stranice do onih kojima se sjećanje naše opreme opire. Svaka stranica će sadržavati tekst, grafiku, boje, slike itd. Prilikom generiranja a PDF, ovo se može preuzeti iz preglednika ili s nekim dodacima može se čitati i prikazivati ​​na mreži izravno, zato je toliko moćan, jedina mana i ujedno jedna od njegovih najvećih vrlina je to što nije napravljen za mijenjanje u ovom trenutku.
Budući da smo napravili domaću zadaću kako bismo razumjeli dio iza i prije koda, generirat ćemo našu prvu datoteku. Napravit ćemo dokument s jednom stranicom i u ovo ćemo uključiti mali tekst.
Kako to učiniti?Da bismo postigli cilj moramo stvoriti novi dokument PHP iu svom prvom retku nakon otvaranja oznaka moramo unijeti knjižnicu FPDF, to ćemo učiniti s uputama zahtijevati () budući da će na ovaj način, ako ne pronađemo knjižnicu, program dati pogrešku i stoga neće biti mogućnosti da se nešto izvrši i dobije neželjeni rezultat.
Zatim ćemo stvoriti vrstu objekta FPDF na kojima ćemo primijeniti neke metode, kao npr addPage () kako bismo našoj budućnosti dodali novi list PDF, ili ćelija () za stvaranje odjeljka unutar lista i na kraju izlaz () koji je taj koji šalje rezultat pregledniku.
Pogledajmo primjer koda kako bismo mogli razumjeti sve što smo objasnili:
 addPage (); $ pdf-> setFont ("Arial", 'B', 18); $ pdf-> cell (50, 20, "Zdravo! Kreirali smo naš prvi PDF !!"); $ pdf-> izlaz (); 

Ovdje jedino dodatno što vidimo je metoda setFont () što nam omogućuje da odaberemo font fontova za tekst, njegov stil, odnosno ako je u kurzivu, podebljanim kurzivom i veličinom u pikselima, u slučaju koda postavili smo Arial, B za podebljano i veličinu slova 18 piksela.
U metodi ćelija () prvi parametri odnose se na mjesto teksta u dokumentu, a posljednji je tekst koji bi se trebao pojaviti. Konačno izlaz () daje nam rezultat za prikaz. Prilikom izvođenja ovoga na testnom poslužitelju, kao što je Wamp, možemo vidjeti rezultat sličan sljedećem:

POVEĆAJTE

U gornjem dijelu možemo primijetiti skup kontrola koje nam pokazuju da je PDF preglednik ga je protumačio bez ikakvih problema.
Ono što smo vidjeli može nam pomoći da brzo i bez mnogo zahtjeva izađemo iz dokumenta, međutim to ne znači da je naš PDF ne mogu biti složeniji i imati više pojedinosti.
Prilikom izrade instance FPDF, možemo definirati neke parametre u konstruktoru klase koji nam mogu pomoći da mu damo više elemenata koji mogu mijenjati stil našeg PDF, možemo krenuti od osnovnih stvari kao što je na primjer promjena orijentacije dokumenta iz portreta u pejzaž do promjene metričkog sustava s kojim će se uzimati udaljenosti.
Pogledajmo neka svojstva koja možemo promijeniti prilikom generiranja a PDF s FPDF u PHP:
OrijentacijaImamo dvije moguće opcije Str za vertikalni ili portretni oblik stoga njegov početni za Portretni način rada na engleskom jeziku i imamo L za pejzažni format ili Pejzaž također odgovara engleskom jeziku.
Jedinica mjereZa mjernu jedinicu imamo tri mogućnosti pt za bodove, u za centimetre i cm Za centimetre, ovisno o zemlji u kojoj živimo i rezultatima koje želimo, možemo mjeriti mjernu jedinicu na nešto što nam je ugodnije.
Veličina straniceJoš jedna vitalna karakteristika budući da općenito za tiskanje dokumenata moramo ustanoviti odgovarajuću veličinu za naš dokument, evo ga Pismo za veličinu slova, Pravna za pravnu veličinu, tada imamo i druge popularne formate poput A3, A5 ili A4. Udubimo li se u dokumentaciju FPDF Možemo čak vidjeti da postoji mogućnost generiranja vlastitih veličina lista.
Budući da smo saznali da postoje dodatne značajke za generiranje našeg dokumenta, vrijeme je za generiranje novog primjera, za to ćemo primijeniti konfiguracije u konstruktoru klase, a također ćemo koristiti i koordinate za lociranje elemenata u isti list ..
Koordinate (0,0) je sustav koji nam omogućuje da lociramo element u vodoravnoj X i okomitoj Y ravnini PDF s tim možemo točno kontrolirati položaj ovih elemenata. Pogledajmo kod kako bismo mogli osjetiti sve ovo:
 addPage (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> ćelija (0,0, "Gornji lijevi kut", 0, 0, 'L'); $ pdf-> ćelija (0,0, "Gornji desni kut", 0, 0, 'R'); $ pdf-> ln (2.5); $ pdf-> ćelija (0, 0, "U sredini", 0, 0, 'C'); $ pdf-> ln (5.3); $ pdf-> ćelija (0, 0, "Dolje lijevo", 0, 0, 'L'); $ pdf-> ćelija (0, 0, "Dolje desno", 0, 0, 'R'); $ pdf-> izlaz (); 

Na prvom mjestu to vidimo nakon što smo uključili našu knjižnicu FPDF stvorit ćemo odgovarajući objekt, u konstruktoru klase prolazimo orijentaciju Str, mjerna jedinica u i na kraju veličina lista pismo, zatim dodamo stranicu i sljedeći čin postavljamo font za tekst.
S koordinatama ćemo se malo igrati i promijeniti ih kako bismo vidjeli razliku s okomitom osi, desno od metode ćelije vidimo neke dodatne brojeve, oni se koriste za stvaranje linija i slova L, R ili C odgovara opravdanosti teksta, odnosno poravnato lijevo, desno ili prema sredini.
Način ln () omogućuje nam da prođemo mjeru tako da se generira prostor, kao što je ovo u ovom primjeru ln (2,5) će se pomaknuti 2,5 inča prije sljedećeg poziva metode ćelija () zato to vidimo u generaciji sljedećeg teksta koji kaže U sredini pojavit će se mnogo niže u dokumentu. Pogledajmo kako ovo izgleda kada se pokrene na lokalnom poslužitelju:

Primjećujemo u gornjem dijelu kako naša igra izgleda s koordinatama gdje je prvi tekst mnogo veći od drugog i razmacima generiranim u dokumentu. Spustimo li se dolje, možemo vidjeti donji dio našeg dokumenta i mjesto teksta koji smo postavili.
Uključeni su fontovi i stiloviBudući da smo vidjeli kako stvoriti dokument na osnovni način, vidjet ćemo koje stilove teksta imamo na početku s našom knjižnicom FPDF.
Fontovi koje možemo postaviti prema zadanim postavkama su:
  • Arial.
  • Times
  • Helvetica
  • Kurir
  • Simbol
  • ZapfDingbats
Međutim, možemo koristiti prilagođene fontove jednostavno ako imamo odgovarajuću datoteku i možemo ih dodati metodom addFont (). Stilovi koje možemo koristiti su:
  • B za podebljano.
  • Ja za kurziv.
  • U za podcrtavanje.
Na primjer, za uključivanje svih ovih stilova, dovoljno ih je postaviti jedan do drugog u trenutku u kojem definiramo font teksta:
$ pdf-> setFont ("Kurir", 'IBU', 10);

Napominjemo da je to vrlo lako promijeniti. Ako želimo dodati i boju, samo pozovite metodu setTextColor i proslijedite mu kod istog formata RGB. Na primjer:
$ pdf-> setTextColor (255, 0, 0);

Za crvenu boju našeg teksta. Kao zadatak dopustit ćemo da se ove nove upute primijene na neke od PDF već stvoreno u vodiču na način da pojačava znanje.
Ovim smo završili, naučili smo generirati datoteke PDF na jednostavan i vrlo brz način samo uključivanjem knjižnice u naš projekt u PHP. Vrlo je važno vidjeti službenu dokumentaciju o FPDF budući da postoje i druge značajke koje nam mogu pomoći u stvaranju boljih dokumenata.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave