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 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 wink.gif


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.