Mam dokument HTML (nie XHTML), który renderuje się dobrze w Firefox 3 i IE 7. Używa dość podstawowego CSS do stylizowania go i renderuje dobrze w HTML.
Teraz szukam sposobu na przekonwertowanie go do formatu PDF. Próbowałem:
- DOMPDF : miał ogromne problemy z tabelami. Uwzględniłem moje duże zagnieżdżone tabele i pomogło (zanim zużyło do 128 mln pamięci, a następnie umierało - to mój limit pamięci w php.ini), ale robi kompletny bałagan w tabelach i wydaje się, że nie dostaje obrazy. Tabele były po prostu podstawowymi elementami z niektórymi stylami obramowania, aby dodać linie w różnych punktach;
- HTML2PDF i HTML2PS : Miałem z tym więcej szczęścia. Wyrenderował niektóre obrazy (wszystkie obrazy są adresami URL Google Chart), a formatowanie tabeli było znacznie lepsze, ale wydawało się, że ma jakiś problem ze złożonością, którego jeszcze nie odkryłem i umieram z nieznanymi błędami node_type (). Nie jestem pewien, dokąd się udać; i
- Htmldoc : wydaje się, że działa dobrze na podstawowym HTML, ale prawie w ogóle nie obsługuje CSS, więc musisz robić wszystko w HTML (nie wiedziałem, że to był jeszcze rok 2001 w Htmldoc-land ...), więc jest to dla mnie bezużyteczne.
Wypróbowałem aplikację Windows o nazwie Html2Pdf Pilot, która faktycznie wykonała całkiem przyzwoitą robotę, ale potrzebuję czegoś, co najmniej działa w systemie Linux i idealnie działa na żądanie za pośrednictwem PHP na serwerze sieci Web.
Czego mi brakuje lub jak mogę rozwiązać ten problem?
@import
, @media
a @screen
przepisy i załaduje zewnętrznych arkuszy stylów. Jest również dostarczany ze wszystkim, co jest potrzebne do jego działania, chociaż są rzeczy, które można zainstalować, aby uzyskać lepszą wydajność niż domyślne biblioteki lib. code.google.com/p/dompdf
chrome --headless --print-to-pdf="path/to/pdf" https://your_url
za najbogatsze, najszybsze i najłatwiejsze narzędzie do generowania html do pdf crbug.com/603559, ponieważ obsługuje on większość funkcji HTML, twórcy aplikacji polegają na tworzeniu stron internetowych i nie wysysają skomplikowanych skryptów, jak większość innych biblioteki i narzędzia tak robią.