2009-04-09 8 views
47

Powiel możliwe:
Convert HTML + CSS to PDF with PHP?Konwersja HTML na PDF za pomocą PHP?

Czy można konwertować strony HTML do formatu PDF za pomocą PHP, a jeśli tak, to w jaki sposób można to zrobić?

W szczególności strona jest fakturą generowaną dynamicznie. Chciałbym go załadować, używając:

http://example.com/invoices/3333 

A wynik HTML musiałby zostać przekonwertowany na PDF.

Wszystkie dobre biblioteki, które to zrobią, będą w porządku.

+0

GrabzIt ma wolny Biblioteka PHP do konwersji HTML do PDF: http://grabz.it/html-to-pdf-image-api.aspx –

Odpowiedz

53

Jeśli chcesz tworzyć pdf z php, pdflib ci pomogą (jak niektóre inne sugerowane).

Inaczej, jeśli chcesz konwertować strony HTML do formatu PDF za pośrednictwem PHP, znajdziesz trochę problemów stąd .. Przez 3 lata starałem się zrobić to najlepiej jak potrafię .

Tak, opcje znam to:

DOMPDF: klasa php, który owija html i buduje pdf. Działa dobrze, konfigurowalny (jeśli znasz php), oparty na pdflib, jeśli dobrze pamiętam, zajmuje nawet trochę CSS. Złe wieści: powolne, gdy HTML jest duży lub złożony.

: taki sam jak DOMPDF, ale ten konwertuje najpierw do pliku .ps (ghostscript), a następnie do dowolnego formatu (pdf, jpg, png). Dla mnie jest niewiele lepszy niż dompdf, ale ma ten sam problem z szybkością ..ale lepsza kompatybilność z CSS.

Ci dwaj są klasy PHP, ale jeśli można zainstalować jakieś oprogramowanie na serwerze, a dostęp to bezpo¶rednio pośredni() lub system(), daje spojrzenie na nich zbyt:

wkhtmltopdf: oparta na silniku WebKit (safari's wrapper), jest naprawdę szybki i potężny .. wydaje się, że jest to najlepszy (atm) do konwersji stron HTML do pdf w locie; trwa tylko 2 sekundy dla 3-stronicowego dokumentu xHTML z CSS2. Jest to ostatni projekt, zresztą strona google.code jest często aktualizowana.

htmldoc: Ten jest czołgiem, nigdy naprawdę nie zatrzymuje się/zawiesza ... projekt wygląda na martwy od 2007 roku, ale w każdym razie, jeśli nie potrzebujesz kompatybilności CSS może to być miłe dla ciebie.

+3

Daniel, który z nich jest najlepszy dla CSS? WkHTMLToPdf? –

+1

Tak, faktycznie. Jesteśmy triynem, aby używać firefox też (z dodatkiem linii poleceń addon przez torisugary), ponieważ, no wiesz, nic nie zajmie css lepiej niż przeglądarka. wkhtmltopdf działa na safari, więc w rzeczywistości jest najlepszy, imho. Mam nadzieję, że mozilla zrobi coś takiego z gecko wkrótce – Strae

+0

Dan, czy możesz zadzwonić do kanhtml przez php? Wygląda na to, że musi zostać wywołany przy użyciu powłoki ręcznie –

0

Tak, absolutnie.

Dostępne są gotowe do użycia rozwiązania, które będą akceptować dane wejściowe HTML i konwertować pliki eh.

Istnieje również wspólny PDFLib, który można użyć do wygenerowania plików PDF za pomocą PHP, ale wymaga to utworzenia ich ręcznie, ustawiając wszystkie elementy na stronie.

To another one Użyłem że był całkiem miły

3

Osobiście nie ufam wszystkim usługom, które są oferowane za darmo. Oto wniosek można pobrać: http://www.tufat.com/script19.htm

+0

Nie zgadzam się. Otwarte źródło jest tym, co sprawia, że ​​program działa, nigdy nie jest zadowolony ze status quo. Currenlty współpracuje z 14 bibliotekami open source, może z radością powiedzieć, że nie ma nic prostszego. –

+0

Przypisywanie z wyprzedzeniem: możesz ponownie przeczytać odpowiedź. Chodzi o * usługi *, a nie * oprogramowanie *. – soulmerge

+0

Zaakceptowana odpowiedź, do której myślałem, że również się odnosisz, to porównywanie oprogramowania/produktów, a nie usług. Przepraszam. –

1

dompdf: https://github.com/dompdf/dompdf

pobiera ciąg wejściowy i zwraca html pdf string.

nie jest to jakość na poziomie przeglądarki i ma problemy z css, ale działa wystarczająco dobrze dla prostych dokumentów tekstowych.

5

co z TCPDF?

ma wiele funkcji, a jedną z korzyścią używając go można przekonwertować HTML do PDF w locie

+6

Twój link do TCPDF jest błędny, powinien być: http://www.tcpdf.org/ – stukelly

1

Również w tym jeden, który czyni pracę goog: html2pdf

0

problemy z klas PHP są AFAIK 2:

  1. Speed: php wziąć tęskni do analizowania struktury HTML i konwertować go w pdf z pdflib
  2. niezawodność: kiedy nowy c ss, lub atrybut stylu przyjdzie, jak zachować aktualizacje skryptu? ile czasu?

Myślę, że jedynym sposobem na uzyskanie dokładnej konwersji jest użycie opakowania przeglądarki, ponieważ, z definicji, zawsze będzie lepszym czytnikiem html.

Proponuję inny link z jakiegoś porównania: LINK To gdzie czytałem o wkhtmltopdf .. da się czytać wszystkich komentarzy, wiele innych zbyt drogi są tam ...