Menu
- Aktualności
- Mój startup Nowy odcinek
- Blogi ekspertów
- Projektowanie WWW
- Planowanie
- Hosting i domeny
- Organizacja i nawigacja
- Webdesign i grafika
- Warsztat - programy
- Tutoriale Photoshop
- Programowanie i tworzenie
- XHTML, HTML i CSS
- JavaScript, DOM i AJAX
- jQuery
- PHP i SQL
- Flash i ActionScript
- Dostępność i WAI
- Promowanie stron
- Pozycjonowanie
- Reklama i marketing
- Monitoring i statystyki
- Publicystyka
- Artykuły ogólne
- Społeczności
- Praca i zarabianie
- Wywiady
- Standardy sieciowe
- Zasoby
- Kursy
- Recenzje książek
- Linki
Dla webmastera
Generowanie dokumentów PDF za pomocą PHP
Autor: Krzysztof Aszkiełowicz, dodano: 07-02-2004
Kategoria: Programowanie i tworzenie
W PHP dostępne są dwie biblioteki, które umożliwiają generowanie dokumentów PHP. Te biblioteki to PDFLib i ClibPDF. Jeżeli nie są one wkompilowane w nasze PHP to należy jedną z nich wkompilować. W tym artykule opiszę generacje PDF’ów za pomocą funkcji biblioteki PDFLib. Czas przejść do przykładu na podstawie którego, wyjaśnie ogólne działanie funkcji PDF.
Na początek musimy utworzyć plik PDF lub nadpisać już istniejący za pomoca funkcji fopen, używając atrybutu w.
| <?php $file = fopen(„test.pdf”, „w”); if(!$file){ echo „Nie można utworzyć pliku PDF”; exit; } |
Następnie musimy zainicjować dokument PDF, służy do tego funkcja pdf_open(). Możemy także do pliku PDF przypisać niektóre atrybuty jak autora czy tytuł dokumentu.
| $pdf = pdf_open($file); pdf_set_info($pdf, „Author”, “Krzysztof Aszkiełowicz”); pdf_set_info($pdf, “Title”, “Pierwszy dokument PDF”); |
Zatem mamy otwarty już dokument PDF i przypisaliśmy mu atrybuty. Teraz musimy powiadomić PHP odkąd ma się zaczynać faktyczna zawartość dokumentu, służy do tego funkcja pdf_begin_page(). Jako atrybuty pobiera ona identyfikator dokumentu PDF, szerokość oraz wysokość strony w punktach. Format A4 posiada wymiary 595 x 842 punkty.
Następnie możemy dodać zakładkę do dokumentu służy do tego funkcja pdf_add_outline(). Jako parametry pobiera ona identyfikator dokumentu PDF oraz nazwę zakładki. Oto kod, który utworzy nam początek strony o formacie A4 i doda zakładkę do dokumentu PDF.
| pdf_begin_page($pdf, 595, 842); pdf_add_outline($pdf, „Zakładka”); |
Dodaliśmy już zakładkę i zdefiniowaliśmy początek dokumentu, czas na ustawienia czcionek używanych w dokumencie. Do ustawienia czcionki tekstu służy funkcja pdf_set_font(). Pobiera ona standardowo identyfikator pliku PDF, nazwę czcionki, jej rozmiar oraz standard kodowania. W dokumentach PDF mamy do wyboru 14 podstawowych rodzajów czcionek:
- Courier /-Bold/-Oblique/-BoldOblique
- Helvetica /-Bold/-Oblique/-BoldOblique
- Times-Roman/Times-Bold/Times-Italic/Times-BoldItalic
- Symbol
- ZapfDingbats
W swoim przykładzie użyje czcionki Times-Roman o rozmiarze 20. Aby zainicjować tę czcionkę muszę wywołać funkcję pdf_set_font() z takimi argumentami:
| pdf_set_font($pdf, „Times-Roman”, 20, „host”); |
Dokument PDF różni się od dokumentu edytora tekstu czy dokumentu HTML. Nie rozpoczyna się od górnego lewego rogu, lecz od lewego dolnego rogu. Także dokument PDF nie tworzy nowych linii w tekście, gdy zachodzi taka potrzeba.
Musimy teraz zdefiniować położenie tekstu, chcemy aby tekst wyświetlał się w lewem górnym rogu dokumentu.
| pdf_set_text_pos($pdf, 60, 720); |
Teraz można dopiero wyświetlić tekst dokumentu PDF, służy do tego funkcja pdf_show(), pobiera ona identyfikator dokumentu PDF oraz tekst do wyświetlenia.
| pdf_show($pdf, „Przykładowy tekst”); |
Powyższy kod wyświetli nam „Przykładowy tekst” czcionką Times-Roman o rozmiarze 20 punktów. Kiedy już nie będziemy wprowadzać żadnych informacji do dokumentu należy wywołać funkcję pdf_end_page() oraz póżniej pdf_close():
| pdf_end_page($pdf); pdf_close($pdf); |
Teraz musimy zamknąć nasz plik i wysłać informację o typie dokumentu do przeglądarki a pomocą funkcji header().
| fclose($file); Header("Content-type: application/pdf"); Header("Location: test.pdf"); ?> |
Jest to najprostszy generator dokumentów PDF, jaki można stworzyć. PDFLib posiada wiele funkcji które znajdziemy w manualu. Pozdrawiam i życzę miłego generowania PDF’ów.
Komentarze:
Dodaj komentarz:
Najlepiej oceniane artykuły
Najnowsze wiadomości
- Google o mechanizmach zabezpieczających w Chrome
- 483 mln użytkowników korzysta z Facebooka codziennie
- Google+ ma 100 mln użytkowników?
- W Polsce Chrome popularniejszy niż IE
- Dane z MegaUpload bezpieczne jeszcze przez dwa tygodnie
- Wirtualna Polska w nowej odsłonie
- Firefox 12 z funkcjonalniejszą nową kartą?
- Co z danymi z serwerów MegaUpload?

