Biblioteka zamienia kod xml zbliżony do html'a na dokument pdf. W pierwszej stabilnej wersji będzie obsługiwała m. in.:
- powtarzalne nagłówki i stopki stron z dynamicznymi elementami (np. numeracją stron)
- odpowiedniki html'owych tagów: div, p, b, img, span, strong, br, table, tr, td, p, h1, h2, h3, h4 i kilka innych.
- obsługę atrybutów podobnych do tych z css, w tym: float, text-align, margin, padding, różne typy obramowań i tła, obsługa wielu czcionek w różnych stylach (bold, italic, normal)
- łamanie stron, unikanie łamania stron dla wybranych elementów
- obsługa arkuszy stylów (jako dokument xml)
Biblioteka jest pisana pod php5.3+ (do uruchomienia testów wymagana jest wersja php5.3.2+), wykorzystuje komponent Zend_Pdf z ZF 1.11. Będzie otwarta na rozszerzenia, zmianę konfiguracji, wyłączania zbędnych rzeczy, których się nie używa.
Zainteresowanych odsyłam na github.com, tam znajduje się kod źródłowy wraz ze szczątkową dokumentacją oraz, jak na razie, jednym przykładem (katalog examples). Projekt ma dwie gałęzie: master - w miarę stabilna wersja kodu, dev - najświeższy lecz niekoniecznie kompletny kod. Obecna wersja jest wersją developerską, jednakże proste rzeczy można już w niej zaimplementować. Podstawowe funkcjonalności, które jeszcze nie są, ale będą zaimplementowane w pierwszej stabilnej wersji, to odpowiedniki html'owych atrybutów colspan oraz rowspan dla wierszy tabel, listy (odpowiedniki tagów ul, li), podział strony na kolumny. Zostanie również niebawem przepisany mechanizm formatowania tekstu, który obecnie ma sporo ograniczeń.
Komentarze i konstruktywna krytyka mile widziane.

Komentarze (6)
#1 Anonim, 01.04.2011 10:22
Sugeruję zapoznać się z tcpdf
#2 SebaZ, 01.04.2011 17:07
Rozumiem, że style siedzące w xml to z powodu łatwości manipulowania danymi w xml, a nie z lenistwa napisania parserka dla CSS? Style xml zawierają to co css. Możnaby użyć składni CSS, a w dokumentacji ładnie wymienić obsługiwane własności :)
#3 Piotr (www) , 01.04.2011 19:19
tcpdf nie używałem, używałem innych bibliotek, w tym mpdf bardzo intensywnie do budowania złożonych dokumentów (bynajmniej nie faktur ;)). Między innymi to doświadczenie mnie zainspirowało do stworzenia czegoś, co będzie (w założeniu, obecnie jeszcze tak nie jest) zachowywało się przewidywalnie i w czym będzie można stworzyć dokument pdf używając eleganckiej składni xml, a nie hackowanego htmla.
@SebaZ - ta składnia to nie jest html/css, to jest xml. W moim zamyśle nie było zrobienie konwertera html/css do pdfa. Wiele atrybutów i tagów nazywa się tak samo tylko dlatego, aby ułatwić naukę używania tej biblioteki. Jest (i będzie) szereg innych tagów, innych atrybutów których nie ma w htmlu. Przykładowo używanie obramowania jest bardziej elastyczne (dzięki temu, że nie trzymam się stricte htmla), element może mieć np. dwa obramowania, które razem będą tworzyć jakiś wzorek.
#4 Damian Tylczyński (www) , 01.04.2011 19:48
Fajny projekt dla sportu, chętnie rzucę okiem na kod. Ze swej strony po profesjonalnych zastosowań polecam http://code.google.com/p/wkhtmltopdf/
#5 marphi, 02.04.2011 00:01
Przykład odpalony. Ciekawie się zapowiada.
#6 OpenGrid (www) , 04.04.2011 00:36
Zdecydowanie wolę rozwiązanie oparte o to co, z html może wyrenderować webkit http://code.google.com/p/wkhtmltopdf/