Napisany przez: -=Peter=- 21.10.2011, 21:14:23
Została wydana biblioteka generująca dokumenty PDF z XMLa o podobnej składni do HTMLa. 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 https://github.com/psliwa/PHPPdf
- 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 https://github.com/psliwa/PHPPdf. 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 https://github.com/psliwa/PdfBundle.
Biblioteka działa na wersji php 5.3+, obecnie korzysta z Zend_Pdf, jednakże w przyszłości może to ulec zmianie.