Generera PDF -filer med PHP

Innehållsförteckning
Filerna PDF De har praktiskt taget blivit en standard på webben för överföring av dokument, vilket säkerställer att de inte tappar format när de byter plattform och att de också kommer att skrivas ut exakt som de ses, dessutom kan de inte ändras om vi har använt vissa kontroller till samma.
Det betyder att när vi blir ombedda att generera en rapportutmatning från ett system som vi har skapat i PHP, ett av alternativen tillsammans med skapandet av en fil CSV är genereringen av en fil PDF.
FPDFFör att lösa detta problem kan vi försörja oss själva i samhället PHP och få FPDF -biblioteket, som inte behöver någon ytterligare serverkonfiguration. Detta gör det här biblioteket till en stor hjälp och att vi kan implementera det även i tjänster Dela Hosting där åtkomst till inställningar vanligtvis är begränsad av tjänsteleverantören.
För att skapa vårt första dokument PDF vi måste först se till att vi förstår vad en fil är PDF. Dess akronymer motsvarar engelska av Bärbart dokumentformat och skapades av företaget Adobe för att underlätta hur de olika dokument som vi kan generera och som vi måste skicka till andra människor delas.
A PDF Den består av ett antal sidor som går från en sida till de som minnet på vår utrustning motstår. Varje sida kommer att innehålla text, grafik, färger, bilder etc. När du skapar en PDF, detta kan laddas ner från webbläsaren eller med några tillägg kan det läsas och visas online direkt, det är därför det är så kraftfullt, det enda felet och en av dess största dygder är att det inte är gjort för att modifieras för tillfället.
Eftersom vi har gjort våra läxor för att förstå delen bakom och före koden kommer vi att skapa vår första fil. Vi ska skapa ett dokument med en enda sida och i detta kommer vi att inkludera en liten text.
Hur man gör det?För att uppnå målet måste vi skapa ett nytt dokument PHP och i den första raden efter öppnandet av taggar måste vi inkludera biblioteket FPDF, vi kommer att göra detta med instruktionen kräver () eftersom på detta sätt om vi inte hittar biblioteket kommer programmet att ge ett fel och därmed kommer det inte att finnas några möjligheter för något att exekveras och få ett oönskat resultat.
Då ska vi skapa en objekttyp FPDF som vi ska tillämpa några metoder på, till exempel addPage () att lägga till ett nytt blad i vår framtid PDF, eller cell () för att skapa en sektion inuti arket och slutligen utgång () som är den som skickar resultatet till webbläsaren.
Låt oss se exempelkoden så att vi kan förstå allt vi har förklarat:
 addPage (); $ pdf-> setFont ("Arial", "B", 18); $ pdf-> cell (50, 20, "Hej! Vi har skapat vår första PDF !!"); $ pdf-> output (); 

Här är det enda ytterligare vi ser metoden setFont () som gör att vi kan välja teckensnittsfamilj för texten, dess stil, det vill säga om den är kursiv, med fet kursiv stil och dess storlek i pixlar, när det gäller koden har vi placerat Arial, B för fetstil och en storlek på 18 pixlar.
I metoden cell () de första parametrarna hänvisar till placeringen av texten i dokumentet och den sista är texten som ska visas. Till sist utgång () ger oss resultatet som ska visas. När du kör detta på en testserver, t.ex. Wamp, kan vi se ett resultat som liknar följande:

FÖRSTORA

Vi kan märka uppsättningen kontroller i den övre delen som visar oss att PDF det tolkades av webbläsaren utan problem.
Det vi såg kan fungera för att vi ska få ur ett dokument snabbt och utan många krav, men det betyder inte att vårt PDF de kan inte vara mer komplexa och ha mer detaljer.
När du skapar instansen av FPDF, kan vi definiera några parametrar i klassens konstruktör som kan hjälpa oss att ge den fler element som kan variera vår stil PDF, vi kan gå från saker som är så grundläggande som att till exempel ändra dokumentets orientering från porträtt till liggande till att ändra det metriska system som det tar avstånden med.
Låt oss se några av de egenskaper som vi kan ändra när vi skapar en PDF med FPDF i PHP:
OrienteringVi har två möjliga alternativ P för den vertikala eller porträttformen därav dess initiala med Porträttläge på engelska och vi har L för liggande format eller Landskap motsvarar också det engelska språket.
MåttenhetFör måttenheten har vi tre alternativ pt för poäng, i för tum och centimeter För centimeter, beroende på vilket land vi bor i och de resultat vi vill ha, kan vi variera måttenheten till något som är mer bekvämt för oss.
SidstorlekEn annan viktig egenskap eftersom vi i allmänhet för att skriva ut dokumenten måste fastställa en lämplig storlek för vårt dokument, här har vi Brev för bokstäver, Rättslig för laglig storlek, då har vi andra populära format som A3, A5 eller A4. Om vi ​​fördjupar oss i dokumentationen av FPDF Vi kan till och med se att det finns möjlighet att generera våra egna storlekar för arket.
Eftersom vi har lärt oss att det finns ytterligare funktioner för att generera vårt dokument, är det dags att generera ett nytt exempel, för detta kommer vi att tillämpa konfigurationerna i klasskonstruktorn och vi kommer också att använda koordinaterna för att lokalisera elementen i samma blad ..
Koordinaterna (0,0) är ett system som gör att vi kan lokalisera elementet i ett horisontellt X- och vertikalt Y -plan i vårt PDF med detta kan vi styra platsen för dessa element exakt. Låt oss titta på koden så att vi kan få en känsla för allt detta:
 addPage (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> cell (0,0, "Övre vänstra hörnet", 0, 0, "L"); $ pdf-> cell (0,0, "Övre högra hörnet", 0, 0, "R"); $ pdf-> ln (2.5); $ pdf-> cell (0, 0, "I mitten", 0, 0, 'C'); $ pdf-> ln (5.3); $ pdf-> cell (0, 0, "Nedre vänster", 0, 0, 'L'); $ pdf-> cell (0, 0, "Nederst till höger", 0, 0, 'R'); $ pdf-> output (); 

För det första ser vi det efter att vi har inkluderat vårt bibliotek FPDF vi ska skapa motsvarande objekt, i klasskonstruktorn passerar vi orienteringen P, måttenheten i och slutligen arkstorleken brev, sedan lägger vi till en sida och nästa akt anger vi typsnittet för texten.
Med koordinaterna kommer vi att spela lite och ändra dem för att se skillnaden med den vertikala axeln, till höger om metoden cell vi ser några ytterligare nummer, dessa används för att skapa rader och bokstaven L, R eller C motsvarar textens motivering, det vill säga justerat till vänster, till höger eller till mitten.
Metoden ln () låter oss passera ett mått så att ett utrymme genereras, så här i det här exemplet ln (2.5) kommer att flytta 2,5 tum innan nästa metodsamtal cell () det är därför vi ser det i generationen av följande text som säger I mitten det kommer att visas mycket lägre i dokumentet. Låt oss se hur det ser ut när det körs på den lokala servern:

Vi märker i den övre delen hur vårt spel ser ut med koordinaterna där den första texten är mycket högre än den andra och mellanslag som genereras i dokumentet. Om vi ​​går ner kan vi se den nedre delen av vårt dokument och platsen för texten som vi placerade.
Teckensnitt och stilar ingårEftersom vi har sett hur man skapar ett dokument på ett grundläggande sätt, kommer vi att se vilka textstilar vi har tillgängliga från början med vårt bibliotek FPDF.
De teckensnitt som vi kan placera som standard är:
  • Arial.
  • Tider
  • Helvetica
  • Kurir
  • Symbol
  • ZapfDingbats
Vi kan dock använda anpassade teckensnitt helt enkelt genom att ha filen som motsvarar den och vi kan lägga till dem med metoden addFont (). De stilar som vi kan använda är:
  • B för fetstil.
  • Jag för kursiv.
  • U för understrykning.
Till exempel, för att inkludera alla dessa stilar, är det tillräckligt att placera dem bredvid varandra i det ögonblick då vi definierar typsnittet för texten:
$ pdf-> setFont ("Courier", 'IBU', 10);

Vi noterar då att det är väldigt enkelt att ändra detta. Om vi ​​också vill lägga till en färg är det bara att ringa metoden setTextColor och skicka koden till samma i format RGB. Till exempel:
$ pdf-> setTextColor (255, 0, 0);

För en röd färg på vår text. Som en uppgif.webpt kommer vi att låta dessa nya instruktioner gälla i några av PDF redan skapat i handledningen på ett sätt som förstärker kunskapen.
Med detta avslutar vi har vi lärt oss att generera filer PDF på ett enkelt och mycket snabbt sätt bara genom att inkludera ett bibliotek i vårt projekt i PHP. Det är mycket viktigt att se den officiella dokumentationen av FPDF eftersom det finns andra funktioner som kan hjälpa oss att skapa bättre dokument.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng
wave wave wave wave wave