PDF failų generavimas naudojant PHP

Turinys
Failai PDF Jie tapo praktiškai žiniatinklio dokumentų perdavimo standartu, užtikrinančiu, kad keičiant platformas jie nepraras savo formato ir kad jie taip pat bus atspausdinti taip, kaip jie matomi, be to, jie nebus keičiami, jei pateiksime paraišką tam tikrus valdiklius.
Tai reiškia, kad kai mūsų prašoma generuoti ataskaitos stiliaus išvestį iš sistemos, kurią sukūrėme PHP, viena iš parinkčių kartu su failo generavimu CSV yra failo generavimas PDF.
FPDFNorėdami išspręsti šią problemą, mes galime palaikyti save bendruomenėje PHP ir gaukite FPDF biblioteką, kuriai nereikia jokios papildomos serverio konfigūracijos. Tai labai padeda šiai bibliotekai ir galime ją įgyvendinti net paslaugose Bendrinti prieglobą kur prieigą prie nustatymų paprastai riboja paslaugų teikėjas.
Norėdami sukurti pirmąjį mūsų dokumentą PDF pirmiausia turime įsitikinti, kad suprantame, kas yra failas PDF. Jos santrumpos atitinka anglų kalbą Nešiojamojo dokumento formatas ir buvo sukurta bendrovės „Adobe“ kad būtų lengviau bendrinti įvairius dokumentus, kuriuos galime sukurti ir kuriuos turime siųsti kitiems žmonėms.
A PDF Jį sudaro keli puslapiai, pereinantys iš vieno puslapio į tuos, kuriems mūsų įrangos atmintis priešinasi. Kiekviename puslapyje bus teksto, grafikos, spalvų, vaizdų ir kt. Kuriant a PDF, tai galima atsisiųsti iš naršyklės arba su kai kuriais priedais, ją galima tiesiogiai perskaityti ir parodyti internete, todėl ji tokia galinga, vienintelė jos yda ir viena didžiausių dorybių yra ta, kad ji nėra skirta keisti šiuo metu.
Kadangi atlikome namų darbus, kad suprastume už kodo esančią dalį ir prieš ją, mes sukursime pirmąjį failą. Mes sukursime dokumentą su vienu puslapiu ir į jį įtraukime nedidelį tekstą.
Kaip tai padaryti?Norėdami pasiekti tikslą, turime sukurti naują dokumentą PHP pirmoje eilutėje po žymų atidarymo turime įtraukti biblioteką FPDF, tai padarysime vadovaudamiesi instrukcija reikalauti () nes tokiu būdu, jei nerasime bibliotekos, programa duos klaidą ir tokiu būdu nebus galimybių ką nors įvykdyti ir gauti nepageidaujamą rezultatą.
Tada mes sukursime objekto tipą FPDF kuriai taikysime kai kuriuos metodus, pvz addPage () pridėti naują lapą į mūsų ateitį PDF, arba ląstelė () sukurti skiltį lapo viduje ir galiausiai išvestis () kuris siunčia rezultatą į naršyklę.
Pažiūrėkime kodo pavyzdį, kad galėtume suprasti viską, ką paaiškinome:
 addPage (); $ pdf-> setFont ("Arial", 'B', 18); $ pdf-> ląstelė (50, 20, "Sveiki! Mes sukūrėme pirmąjį PDF failą !!"); $ pdf-> produkcija (); 

Čia vienintelis papildomas dalykas, kurį matome, yra metodas setFont () leidžia mums pasirinkti teksto šriftų šeimą, jos stilių, tai yra, jei jis yra kursyvu, paryškintu kursyvu ir jo dydį taškais, kodo atveju - Arial, B - paryškintas ir dydis 18 pikselių.
Metode ląstelė () pirmieji parametrai nurodo teksto vietą dokumente, o paskutinis - tekstas, kuris turėtų būti rodomas. Pagaliau išvestis () duoda mums rodomą rezultatą. Vykdydami tai bandymų serveryje, pvz Wamp, galime matyti panašų rezultatą:

DIDELIS

Viršutinėje dalyje galime pastebėti valdiklių rinkinį, rodantį, kad PDF naršyklė tai aiškino be jokių problemų.
Tai, ką pamatėme, gali padėti mums greitai ir be didelių reikalavimų išsivaduoti iš dokumento, tačiau tai nereiškia, kad mūsų PDF jie negali būti sudėtingesni ir turėti daugiau informacijos.
Kuriant egzempliorių FPDF, klasės konstruktoriuje galime apibrėžti kai kuriuos parametrus, kurie gali padėti mums suteikti jai daugiau elementų, kurie gali skirtis pagal mūsų stilių PDF, galime pereiti nuo elementarių dalykų, pavyzdžiui, pakeisti dokumento orientaciją iš portreto į kraštovaizdį ir pakeisti metrinę sistemą, su kuria jis imsis atstumus.
Pažiūrėkime kai kurias savybes, kurias galime pakeisti kurdami a PDF su FPDF į PHP:
OrientacijaTurime du galimus variantus P vertikaliai arba portretinei formai, taigi jos pradinė Portreto režimas anglų kalba ir mes turime L kraštovaizdžio formatu arba Kraštovaizdis taip pat atitinka anglų kalbą.
Matavimo vienetasMatavimo vienetui turime tris variantus pt už taškus, į coliams ir cm Dėl centimetrų, priklausomai nuo šalies, kurioje gyvename, ir norimų rezultatų, mes galime keisti matavimo vienetą į tai, kas mums patogiau.
Puslapio dydisKitas esminis bruožas, nes paprastai, norint spausdinti dokumentus, turime nustatyti tinkamo dydžio dokumentą Laiškas dėl raidės dydžio, Teisėta dėl teisinio dydžio, tada turime kitų populiarių formatų, tokių kaip A3, A5 arba A4. Jei įsigilinsime į dokumentaciją FPDF Mes netgi matome, kad yra galimybė sukurti savo lapų dydžius.
Kadangi sužinojome, kad mūsų dokumentui sugeneruoti yra papildomų funkcijų, laikas sugeneruoti naują pavyzdį, todėl mes pritaikysime konfigūracijas klasės konstruktoriuje ir taip pat naudosime koordinates elementams surasti tas pats lapas ..
Koordinatės (0,0) yra sistema, leidžianti mums rasti elementą horizontalioje X ir vertikalioje Y plokštumoje PDF tai mes galime tiksliai kontroliuoti šių elementų vietą. Pažvelkime į kodą, kad galėtume visa tai pajusti:
 addPage (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> langelis (0,0, "Viršutinis kairysis kampas", 0, 0, 'L'); $ pdf-> ląstelė (0,0, "Viršutinis dešinysis kampas", 0, 0, 'R'); $ pdf-> ln (2.5); $ pdf-> langelis (0, 0, "Viduryje", 0, 0, 'C'); $ pdf-> ln (5.3); $ pdf-> langelis (0, 0, "apačioje kairėje", 0, 0, 'L'); $ pdf-> langelis (0, 0, "apačioje dešinėje", 0, 0, 'R'); $ pdf-> produkcija (); 

Visų pirma tai matome po to, kai įtraukėme savo biblioteką FPDF mes ketiname sukurti atitinkamą objektą, klasės konstruktoriuje pereiname orientaciją P, matavimo vienetas į ir galiausiai lapo dydis laišką, tada pridedame puslapį ir kitą veiksmą nustatome teksto šriftą.
Turėdami koordinates, mes šiek tiek žaisime ir pakeisime jas, kad pamatytume skirtumą su vertikalia ašimi, dešinėje metodo pusėje ląstelė matome keletą papildomų skaičių, jie naudojami eilutėms ir raidėms kurti L, R arba C. atitinka teksto pagrindimą, tai yra, išlygintas į kairę, į dešinę arba į centrą.
Metodas ln () leidžia mums perduoti matą, kad būtų sukurta erdvė, kaip tai yra šiame pavyzdyje ln (2,5) ketina pasislinkti 2,5 colio iki kito metodo iškvietimo ląstelė () todėl mes tai matome tolesnio teksto, kuriame sakoma, kartoje Viduryje dokumente jis bus rodomas daug žemiau. Pažiūrėkime, kaip tai atrodo paleidus vietiniame serveryje:

Viršutinėje dalyje pastebime, kaip atrodo mūsų žaidimas su koordinatėmis, kur pirmasis tekstas yra daug didesnis nei antrasis, ir dokumente sugeneruotos vietos. Jei nusileisime žemyn, pamatysime apatinę dokumento dalį ir įdėto teksto vietą.
Įtraukti šriftai ir stiliaiKadangi pamatėme, kaip iš esmės sukurti dokumentą, pamatysime, kokius teksto stilius iš pradžių turime savo bibliotekoje FPDF.
Šriftai, kuriuos galime įdėti pagal numatytuosius nustatymus, yra šie:
  • Arial.
  • Laikai
  • Helvetika
  • Kurjeris
  • Simbolis
  • „ZapfDingbats“
Tačiau mes galime naudoti pasirinktinius šriftus tiesiog turėdami jį atitinkantį failą ir galime juos pridėti naudodami šį metodą addFont (). Stiliai, kuriuos galime naudoti, yra šie:
  • B - paryškintas.
  • Aš už kursyvą.
  • U pabraukimui.
Pavyzdžiui, norint įtraukti visus šiuos stilius, pakanka juos sudėti vienas šalia kito tuo metu, kai apibrėžiame teksto šriftą:
$ pdf-> setFont („Kurjeris“, „IBU“, 10);

Tada pažymime, kad tai labai lengva pakeisti. Jei mes taip pat norime pridėti spalvą, tiesiog paskambinkite metodu setTextColor ir perduokite jam to paties kodo formatą RGB. Pavyzdžiui:
$ pdf-> setTextColor (255, 0, 0);

Dėl raudonos mūsų teksto spalvos. Kaip užduotį leisime šioms naujoms instrukcijoms taikyti kai kurias iš jų PDF pamokoje jau sukurtas taip, kad sustiprintų žinias.
Baigę tai mes išmokome generuoti failus PDF paprastai ir labai greitai, tik įtraukdami biblioteką į mūsų projektą PHP. Labai svarbu susipažinti su oficialiais dokumentais FPDF nes yra ir kitų funkcijų, kurios gali padėti mums sukurti geresnius dokumentus.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką
wave wave wave wave wave