Autor wpisu: Piotr Śliwa, dodany: 21.10.2011 20:16, tagi: php, symfony
Ukończyłem pierwszą wersję PHPPdf o której pisałem kilka dobrych miesięcy temu, przy okazji zaliczając nieznaczny poślizg z terminem ;) Główne cechy biblioteki:
- obsługa podstawowych tagów HTML oraz podstawowych stylów (składnia ustawiania stylów różni się od HTMLa, niektóre nazwy atrybutów również się różnią - szczegóły w dokumentacji dostępnej w repozytorium na githubie
- dokument źródłowy w formatach XML oraz Markdown
- obsługa arkuszy styli w formacie XML
- podstawowe funkcjonalności HTML (niektóre różnią się w zachowaniu): opływ elementów (float), wyrównanie tekstu (+ justrowanie), obramowanie, tła, marginesy, paddingi itp.
- odnośniki wewnętrzne (do elementów wewnątrz dokumentu) oraz zewnętrzne (url)
- obsługa czcionek ttf oraz wbudowanych
- automatycznie lub wymuszone łamanie strony, "niełamalne" elementy, powtarzalne nagłówki i stopki, numeracja stron
- podział strony na kolumny, automatyczne lub wymuszone łamanie kolumny
- obsługa zakładek i adnotacji
- obsługa złożonych znaków wodnych
- możliwość wykorzystania istniejącego dokumentu jako szablonu
- integracja z Symfony2 za pomocą bundla PdfBundle
- i w wiele innych ;)
Do czego ta biblioteka się nie nadaje:
- bezpośrednie konwertowanie kodu HTML do PDFa - są do tego zadania naprawdę świetne, lepsze biblioteki, np. program wkhtmltopdf. Poza tym PHPPdf nie jest kompatybilny z HTML'em, zadaniem tej biblioteki nie jest dostarczenie narzędzia zamieniającego kod HTML na PDFa.
Do czego ta biblioteka jest przeznaczona:
- tworzenia złożonych dokumentów pdf, nad których wyglądem, strukturą i układem powinniśmy mieć możliwie jak największą kontrolę, czego, ze względu na specyfikę formatu PDF i HTML, nie do końca zapewnia nam HTML oraz CSS, a tym samym biblioteki konwertujące kod HTML do PDF.
Projekt jest hostowany na githubie. Dokumentacja w języku polskim oraz angielskim znajduje się w odpowiednich plikach README, przykładowe dokumenty znajdują się we folderze "examples" (należy uruchomić plik index.php z przeglądarki lub cli.php z konsoli). Bundle integrujące PHPPdf z Symfony2 znajduje się również na githubie.
Biblioteka działa na wersji php 5.3+, obecnie korzysta z Zend_Pdf, jednakże w przyszłości może to ulec zmianie.