PDF-bestanden genereren met PHP

Inhoudsopgave
De bestanden PDF Ze zijn praktisch een standaard op het web geworden voor het verzenden van documenten, zodat ze hun formaat niet verliezen bij het wisselen van platform en dat ze ook precies zo worden afgedrukt als ze worden gezien, bovendien kunnen ze niet worden gewijzigd als we hebben toegepast bepaalde bedieningselementen hetzelfde.
Dit betekent dat wanneer we worden gevraagd om een ​​rapportachtige uitvoer te genereren van een systeem dat we hebben gemaakt in PHP, een van de opties samen met het genereren van een bestand CSV is het genereren van een bestand PDF.
FPDFOm dit probleem op te lossen, kunnen we onszelf ondersteunen in de gemeenschap PHP en verkrijg de FPDF-bibliotheek, die geen extra serverconfiguratie nodig heeft. Dit maakt deze bibliotheek een grote hulp en dat we deze zelfs in services kunnen implementeren Hosting delen waar de toegang tot instellingen meestal wordt beperkt door de serviceprovider.
Om ons eerste document te maken PDF we moeten er eerst voor zorgen dat we begrijpen wat een bestand is PDF. De acroniemen komen overeen met het Engels van Draagbaar documentformaat en is gemaakt door het bedrijf Adobe om de manier te vergemakkelijken waarop de verschillende documenten die we kunnen genereren en die we naar andere mensen moeten sturen, worden gedeeld.
EEN PDF Het bestaat uit een aantal pagina's die van de ene pagina gaan naar de pagina's die het geheugen van onze apparatuur weerstaat. Elke pagina bevat tekst, afbeeldingen, kleuren, afbeeldingen, enz. Bij het genereren van a PDF, dit kan worden gedownload vanuit de browser of met sommige add-ons kan het direct online worden gelezen en weergegeven, daarom is het zo krachtig, het enige minpunt en ook een van de grootste deugden is dat het niet is gemaakt om te worden gewijzigd op dit moment.
Omdat we ons huiswerk hebben gedaan om het deel achter en vóór de code te begrijpen, gaan we ons eerste bestand genereren. We gaan een document maken met een enkele pagina en hierin gaan we een kleine tekst opnemen.
Hoe je dat doet?Om het doel te bereiken, moeten we een nieuw document maken PHP en in de eerste regel na het openen van tags moeten we de bibliotheek opnemen FPDF, we gaan dit doen met de instructie vereisen () omdat op deze manier, als we de bibliotheek niet vinden, het programma een fout zal geven en er dus geen mogelijkheden zijn om iets uit te voeren en een ongewenst resultaat te verkrijgen.
Dan gaan we een objecttype maken FPDF waarop we enkele methoden gaan toepassen, zoals: pagina toevoegen () om een ​​nieuw blad aan onze toekomst toe te voegen PDF, of cel () om een ​​sectie in het blad te maken en tot slot uitgang () dat is degene die het resultaat naar de browser stuurt.
Laten we de voorbeeldcode eens bekijken, zodat we alles kunnen begrijpen wat we hebben uitgelegd:
 pagina toevoegen (); $ pdf-> setFont ("Arial", 'B', 18); $ pdf-> cel (50, 20, "Hallo! We hebben onze eerste PDF gemaakt !!"); $ pdf-> uitvoer (); 

Hier is het enige extra dat we zien de methode setFont () waarmee we de lettertypefamilie voor de tekst kunnen kiezen, de stijl, dat wil zeggen, als het cursief is, in vet cursief en de grootte in pixels, in het geval van de code die we hebben geplaatst Arial, B voor vet en een grootte van 18 pixels.
In de methode cel () de eerste parameters verwijzen naar de locatie van de tekst in het document en de laatste is de tekst die moet verschijnen. Eindelijk uitgang () geeft ons het resultaat dat moet worden weergegeven. Wanneer u dit op een testserver uitvoert, zoals: Wamp, kunnen we een resultaat zien dat lijkt op het volgende:

VERGROTEN

We kunnen de set bedieningselementen in het bovenste gedeelte zien die ons laten zien dat de PDF het werd probleemloos door de browser geïnterpreteerd.
Wat we zagen kan voor ons werken om snel en zonder veel eisen uit een document te komen, maar dat betekent niet dat onze PDF ze kunnen niet complexer zijn en meer details bevatten.
Bij het maken van de instantie van FPDF, kunnen we enkele parameters definiëren in de constructor van de klasse die ons kunnen helpen om het meer elementen te geven die de stijl van onze PDF, we kunnen gaan van dingen die zo eenvoudig zijn, zoals bijvoorbeeld het veranderen van de oriëntatie van het document van staand naar liggend, tot het veranderen van het metrieke stelsel waarmee het de afstanden zal overbruggen.
Laten we eens kijken naar enkele eigenschappen die we kunnen veranderen bij het genereren van a PDF met FPDF in PHP:
OriëntatieWe hebben twee mogelijke opties: P voor de verticale of staande vorm vandaar de initiële by Portret-modus in het Engels en we hebben L voor liggend formaat of Landschap komt ook overeen met de Engelse taal.
Meet eenheidVoor de maateenheid hebben we drie opties: pt voor punten, in voor inches en cm Voor centimeters, afhankelijk van het land waarin we wonen en de resultaten die we willen, kunnen we de maateenheid variëren naar iets dat voor ons comfortabeler is.
Pagina grootteEen ander essentieel kenmerk, aangezien we in het algemeen voor het afdrukken van de documenten een geschikte grootte voor ons document moeten vaststellen, hier hebben we: Brief voor lettergrootte, legaal voor legale grootte, dan hebben we andere populaire formaten zoals A3, A5 of A4. Als we ingaan op de documentatie van FPDF We zien zelfs dat er de mogelijkheid is om onze eigen formaten voor de plaat te genereren.
Omdat we hebben geleerd dat er extra functies zijn om ons document te genereren, is het tijd om een ​​nieuw voorbeeld te genereren, hiervoor gaan we de configuraties in de klassenconstructor toepassen en ook gaan we de coördinaten gebruiken om de elementen te lokaliseren in hetzelfde blad..
De coördinaten (0,0) is een systeem waarmee we het element kunnen lokaliseren in een horizontaal X- en verticaal Y-vlak van onze PDF hiermee kunnen we de locatie van deze elementen exact bepalen. Laten we naar de code kijken, zodat we een idee kunnen krijgen van dit alles:
 pagina toevoegen (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> cel (0,0, "Linkerbovenhoek", 0, 0, 'L'); $ pdf-> cel (0,0, "Rechtsbovenhoek", 0, 0, 'R'); $ pdf-> ln (2.5); $ pdf-> cel (0, 0, "In het midden", 0, 0, 'C'); $ pdf-> ln (5.3); $ pdf-> cel (0, 0, "Linksonder", 0, 0, 'L'); $ pdf-> cel (0, 0, "Rechtsonder", 0, 0, 'R'); $ pdf-> uitvoer (); 

In de eerste plaats zien we dat nadat we onze bibliotheek hebben opgenomen FPDF we gaan het corresponderende object maken, in de klassenconstructor geven we de oriëntatie door P, de maateenheid in en tot slot de bladgrootte brief, dan voegen we een pagina toe en vervolgens stellen we het lettertype voor de tekst in.
Met de coördinaten gaan we een beetje spelen en veranderen om het verschil met de verticale as te zien, rechts van de methode cel we zien wat extra cijfers, deze worden gebruikt om lijnen en de letter te maken L, R of C komt overeen met de uitvulling van de tekst, dat wil zeggen, uitgelijnd naar links, naar rechts of naar het midden.
De methode ln () stelt ons in staat een maat door te geven zodat een spatie wordt gegenereerd, zoals in dit voorbeeld ln (2.5) gaat 2,5 inch verschuiven voor de volgende methodeaanroep cel () daarom zien we dat in de generatie van de volgende tekst die zegt: Middenin het zal veel lager in het document verschijnen. Laten we eens kijken hoe dit eruit ziet wanneer het op de lokale server wordt uitgevoerd:

We zien in het bovenste gedeelte hoe ons spel eruitziet met de coördinaten waar de eerste tekst veel hoger is dan de tweede en de spaties die in het document zijn gegenereerd. Als we naar beneden gaan, kunnen we het onderste deel van ons document zien en de locatie van de tekst die we hebben geplaatst.
Lettertypen en stijlen inbegrepenOmdat we hebben gezien hoe we op een eenvoudige manier een document kunnen maken, gaan we kijken welke tekststijlen we in eerste instantie beschikbaar hebben met onze bibliotheek FPDF.
De lettertypen die we standaard kunnen plaatsen zijn:
  • Arial.
  • Keer
  • Helvetica
  • Koerier
  • Symbool
  • ZapfDingbats
We kunnen echter aangepaste lettertypen gebruiken door simpelweg het bijbehorende bestand te hebben en we kunnen ze toevoegen met de methode addFont (). De stijlen die we kunnen gebruiken zijn:
  • B voor vet.
  • ik voor cursief.
  • U voor onderstrepen.
Om bijvoorbeeld al deze stijlen op te nemen, volstaat het om ze naast elkaar te plaatsen op het moment dat we het lettertype van de tekst definiëren:
$ pdf-> setFont ("Koerier", 'IBU', 10);

We merken dan op dat het heel eenvoudig is om dit te wijzigen. Als we ook een kleur willen toevoegen, roept u gewoon de methode aan setTextColor en geef het de code van hetzelfde door in formaat RGB. Bijvoorbeeld:
$ pdf-> setTextColor (255, 0, 0);

Voor een rode kleur van onze tekst. Als taak gaan we deze nieuwe instructies toepassen in sommige van de PDF al gemaakt in de tutorial op een manier die de kennis versterkt.
Hiermee zijn we klaar, we hebben geleerd bestanden te genereren PDF op een eenvoudige en zeer snelle manier alleen door een bibliotheek op te nemen in ons project in PHP. Het is erg belangrijk om de officiële documentatie van FPDF omdat er andere functies zijn die ons kunnen helpen betere documenten te maken.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave