Generowanie plików PDF za pomocą PHP

Spisie treści
Pliki PDF Stały się one praktycznie standardem w sieci do przesyłania dokumentów, zapewniając, że nie tracą formatu przy zmianie platform, a także będą drukowane dokładnie tak, jak są widziane, a ponadto nie można ich modyfikować, jeśli złożyliśmy wniosek niektóre kontrole do tego samego.
Oznacza to, że gdy zostaniemy poproszeni o wygenerowanie raportu w stylu raportu z systemu, który stworzyliśmy w PHP, jedna z opcji wraz z generowaniem pliku CSV jest generowanie pliku PDF.
FPDFAby rozwiązać ten problem, możemy wspierać się w społeczności PHP i pobierz bibliotekę FPDF, która nie wymaga dodatkowej konfiguracji serwera. To sprawia, że ​​ta biblioteka jest bardzo pomocna i możemy ją zaimplementować nawet w usługach Udostępnianie hostingu gdzie dostęp do ustawień jest zazwyczaj ograniczony przez usługodawcę.
Aby stworzyć nasz pierwszy dokument PDF musimy najpierw upewnić się, że rozumiemy, czym jest plik PDF. Jego akronimy odpowiadają angielskiemu of format dokumentu przenośnego i został stworzony przez firmę Cegła suszona na słońcu aby ułatwić sposób, w jaki różne dokumenty, które możemy wygenerować i które musimy wysłać innym osobom, są udostępniane.
A PDF Składa się z kilku stron, które przechodzą od jednej strony do tych, którym opiera się pamięć naszego sprzętu. Każda strona będzie zawierać tekst, grafikę, kolory, obrazy itp. Podczas generowania PDF, można go pobrać z przeglądarki lub z niektórymi dodatkami można go czytać i wyświetlać bezpośrednio online, dlatego jest tak potężny, jego jedyną wadą i jedną z największych zalet jest to, że nie jest przeznaczony do modyfikacji w tej chwili.
Ponieważ odrobiliśmy pracę domową, aby zrozumieć część za i przed kodem, wygenerujemy nasz pierwszy plik. Zamierzamy stworzyć dokument z pojedynczą stroną i w tym zamieścimy mały tekst.
Jak to zrobić?Aby osiągnąć cel, musimy stworzyć nowy dokument PHP a w pierwszym wierszu po otwarciu tagów musimy dokonać włączenia biblioteki FPDF, zrobimy to z instrukcją wymagać () ponieważ w ten sposób, jeśli nie znajdziemy biblioteki, program zgłosi błąd i tym samym nie będzie możliwości, aby coś się wykonało i uzyskało niepożądany wynik.
Następnie stworzymy typ obiektu FPDF na których zamierzamy zastosować pewne metody, takie jak Dodaj stronę () aby dodać nowy liść do naszej przyszłości PDF, lub komórka () aby utworzyć sekcję wewnątrz arkusza i na koniec wyjście () czyli ten, który wysyła wynik do przeglądarki.
Zobaczmy przykładowy kod, abyśmy mogli zrozumieć wszystko, co wyjaśniliśmy:
 Dodaj stronę (); $ pdf-> setFont ("Arial", 'B', 18); $ pdf-> komórka (50, 20, "Witam! Stworzyliśmy nasz pierwszy PDF!"); $ pdf-> wyjście (); 

Tutaj jedyną dodatkową rzeczą, którą widzimy, jest metoda setCzcionka () co pozwala nam wybrać rodzinę czcionek dla tekstu, jego styl, czyli jeśli jest kursywą to pogrubioną kursywą i jego rozmiar w pikselach, w przypadku kodu umieściliśmy Arial, B dla pogrubienia i rozmiar 18 pikseli.
W metodzie komórka () pierwsze parametry odnoszą się do lokalizacji tekstu w dokumencie, a ostatni to tekst, który powinien się pojawić. Wreszcie wyjście () daje nam wynik do wyświetlenia. Podczas uruchamiania tego na serwerze testowym, takim jak Wamp, możemy zobaczyć wynik podobny do następującego:

POWIĘKSZAĆ

W górnej części możemy zauważyć zestaw kontrolek, które pokazują nam, że PDF został zinterpretowany przez przeglądarkę bez problemu.
To, co zobaczyliśmy, może pomóc nam szybko i bez wielu żądań wydostać się z dokumentu, ale to nie znaczy, że nasze PDF nie mogą być bardziej złożone i zawierać więcej szczegółów.
Podczas tworzenia instancji FPDF, możemy zdefiniować pewne parametry w konstruktorze klasy, które pomogą nam nadać jej więcej elementów, które mogą zmieniać styl naszego PDF, możemy przejść od rzeczy tak podstawowych, jak na przykład zmiana orientacji dokumentu z pionowej na poziomą, aż po zmianę systemu metrycznego, z którym będzie pokonywał odległości.
Zobaczmy niektóre właściwości, które możemy zmienić podczas generowania a PDF z FPDF w PHP:
OrientacjaMamy dwie możliwe opcje P dla formy pionowej lub portretowej stąd jego inicjał by Tryb portretowy po angielsku i mamy L dla formatu poziomego lub Krajobraz odpowiada również językowi angielskiemu.
Jednostka miaryDla jednostki miary mamy trzy opcje pt za punkty, w dla cali i cm Na centymetry, w zależności od kraju, w którym mieszkamy i wyników, jakich oczekujemy, możemy zmienić jednostkę miary na taką, która jest dla nas wygodniejsza.
Rozmiar stronyKolejna istotna cecha, ponieważ generalnie do drukowania dokumentów musimy ustalić odpowiedni rozmiar naszego dokumentu, tutaj mamy List dla rozmiaru liter, Prawny dla legalnego rozmiaru, mamy inne popularne formaty, takie jak A3, A5 lub A4. Jeśli zagłębimy się w dokumentację FPDF Widzimy nawet, że istnieje możliwość wygenerowania własnych rozmiarów dla arkusza.
Ponieważ dowiedzieliśmy się, że istnieją dodatkowe funkcje do generowania naszego dokumentu, czas wygenerować nowy przykład, w tym celu zastosujemy konfiguracje w konstruktorze klas, a także będziemy używać współrzędnych do lokalizacji elementów w ten sam arkusz.
Współrzędne (0,0) to system, który pozwala nam zlokalizować element w płaszczyźnie poziomej X i pionowej Y naszego PDF dzięki temu możemy dokładnie kontrolować położenie tych elementów. Przyjrzyjmy się kodowi, abyśmy mogli to wszystko poczuć:
 Dodaj stronę (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> komórka (0,0, "Górny lewy róg", 0, 0, 'L'); $ pdf-> komórka (0,0, "Górny prawy róg", 0, 0, 'R'); $pdf->ln (2,5); $ pdf-> komórka (0, 0, "W środku", 0, 0, 'C'); $pdf->ln (5,3); $ pdf-> komórka (0, 0, "Dolny lewy", 0, 0, 'L'); $ pdf-> komórka (0, 0, "Dół po prawej", 0, 0, 'R'); $ pdf-> wyjście (); 

W pierwszej kolejności widzimy, że po włączeniu naszej biblioteki FPDF stworzymy odpowiedni obiekt, w konstruktorze klasy przekazujemy orientację P, jednostka miary w i wreszcie rozmiar arkusza list, następnie dodajemy stronę i w kolejnym akcie ustawiamy czcionkę tekstu.
Ze współrzędnymi pobawimy się trochę i zmienimy je, aby zobaczyć różnicę z osią pionową po prawej stronie metody komórka widzimy dodatkowe liczby, które służą do tworzenia linii i litery L, R lub C odpowiada wyrównaniu tekstu, czyli wyrównaniu do lewej, do prawej lub do środka.
Metoda W () pozwala nam przekazać miarę, aby wygenerować spację, tak jak w tym przykładzie W (2,5) przesunie się o 2,5 cala przed następnym wywołaniem metody komórka () dlatego widzimy to w generowaniu poniższego tekstu, który mówi: Pośrodku pojawi się znacznie niżej w dokumencie. Zobaczmy, jak to wygląda po uruchomieniu na serwerze lokalnym:

Widzimy w górnej części, jak wygląda nasza gra ze współrzędnymi, gdzie pierwszy tekst jest znacznie wyżej niż drugi i spacją wygenerowaną w dokumencie. Jeśli zejdziemy w dół, zobaczymy dolną część naszego dokumentu i lokalizację tekstu, który umieściliśmy.
Dołączone czcionki i stylePonieważ widzieliśmy, jak stworzyć dokument w prosty sposób, zobaczymy, jakie style tekstu są dostępne początkowo w naszej bibliotece FPDF.
Czcionki, które możemy domyślnie umieścić to:
  • Arial.
  • Czasy
  • Helvetica
  • Kurier
  • Symbol
  • ZapfDingbaty
Możemy jednak użyć niestandardowych czcionek, po prostu mając odpowiedni plik i możemy je dodać za pomocą metody addFont (). Style, których możemy użyć to:
  • B dla pogrubienia.
  • I kursywa.
  • U dla podkreślenia.
Przykładowo, aby uwzględnić wszystkie te style, wystarczy umieścić je jeden obok drugiego w momencie, w którym definiujemy czcionkę tekstu:
$ pdf-> setFont ("Kurier", 'IBU', 10);

Zauważamy wtedy, że bardzo łatwo to zmienić. Jeśli chcemy również dodać kolor, po prostu wywołaj metodę ustaw kolor tekstu i przekaż mu ten sam kod w formacie RGB. Na przykład:
$ pdf-> setTextColor (255, 0, 0);

O czerwony kolor naszego tekstu. Jako zadanie zamierzamy pozwolić, aby te nowe instrukcje miały zastosowanie w niektórych z PDF już stworzony w tutorialu w sposób wzmacniający wiedzę.
Na tym skończyliśmy, nauczyliśmy się generować pliki PDF w prosty i bardzo szybki sposób tylko poprzez włączenie biblioteki do naszego projektu w PHP. Bardzo ważne jest, aby zapoznać się z oficjalną dokumentacją FPDF ponieważ istnieją inne funkcje, które mogą nam pomóc w tworzeniu lepszych dokumentów.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave