Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Biblioteki pdf
Forum PHP.pl > Forum > PHP
Omenomn
Cześć, tak się trochę zastanawiam nad różnego rodzaju bibliotekami pdf i aż myślałem nad rozpoczęciem nauki języka C, żebym mógł napisać własne rozszerzenie php do tego celu, ale tak mnie dzisiaj oświeciło, że przecież instalując paczkę do pdf nie instaluję rozszerzenia żadnego do php, więc te wszystkie paczki bazują na tym samym jądrze na to wychodzi, a napisanie takiej paczki sprowadzało by się chyba jedynie do samego php.

Macie jakieś informacje na ten temat? Co myślicie o stworzeniu własnej paki do pdf?

Cholernie drażni mnie niedoskonałość każdej z jaką się zapoznałem, nie ma ani jednej, która jeden do jeden konwertuje htmla i cssa do pdf, dompdf nie obsługuje wielu metod css.
Pyton_000
Jeśli zrobisz doskonałą paczkę do PDF to wiedz że możesz na tym baardzo duzo zarobić biggrin.gif
Ale nie ujmując doświadczeniu, chęci itp. był tu już nie jeden co chciał zrobić idealne rozwiązanie (np. edytor Wysiwyg)

Powodzenia wink.gif
destroyerr
Zastanów się czy nie lepiej byłoby dopracować już jakiś istniejący. Druga sprawa co Ty wiesz o pdfie? Dalej, jeżeli chcesz skutecznie przenieść htmla z cssem do pdfa to najlepiej odpalić przeglądarkę (może być headless) i przeiterować po wszystkich elementach DOM i we właściwej kolejności wstawiać je do pdfa. Możesz pominąć uruchamianie przeglądarki i napisać w php cały silnik html/css.
Zanim jednak zaczniesz to zastanów się czy format pdf jest właściwy do czegoś takiego jak html. Jeśli chcesz generować dokumenty, faktury to rozważ inne możliwości jak np. PHPPdf.
maly_swd
polecam wkhtmltopdf
Omenomn
nie rozjeżdża cssa w żadnym przypadku?
vokiel
Masz też TCPDF.

Tak jak pisze @destroyerr, przejrzyj istniejące projekty, mniej siły i energii włożysz w rozwój już istniejących niż pisanie nowego od początku.

Co do doskonałości.

Cytat(Pyton_000 @ 8.02.2016, 12:08:39 ) *
Ale nie ujmując doświadczeniu, chęci itp. był tu już nie jeden co chciał zrobić idealne rozwiązanie (np. edytor Wysiwyg)


CKEditor jest rozwijany od 2003 roku (w marcu będzie 13 lat), a nadal nie jest doskonały, ciągle rozwijany, poprawiany, przepisywany od nowa.
Biorąc się za bibliotekę do PDF miej na uwadze ile czasu zajmuje prowadzenie takiego projektu, jak dużo pracy wymaga. Gdyby było to łatwe i proste mielibyśmy dostępnych dziesiątki świetnych rozwiązań, jednak tak nie jest. Zatem jeszcze raz proponuję pomoc w rozwoju tych istniejących.

Druga kwestia to sam format PDF, który nie jest przecież formą niemodyfikowalnego-html'a. Zatem pełna konwersja HTML+CSS => PDF nie jest możliwa, wielu rzeczy nie da się zrobić w ogóle.
Omenomn
a wie ktoś może w jaki sposób w ogóle te biblioteki tworzą pdfy korzystając jedynie z php? bo szperam w necie i nie mogę znaleźć czarna dziura.
Chodzi mi o stworzenie choćby pliku pdf w którym wyświetlę jedno słowo jakiekolwiek.
Omenomn
dzięki
sazian
to ja się podepnę pod temat smile.gif

planuję u jednego z klientów przejść na wkhtmltopdf,
czy ktoś używał tego na dłuższą metę ? Jak to się sprawdza ?

Problem jest taki że mam tabelę w HTML i muszę z tego zrobić PDF,
obecnie używam do tego tcpdf. Tylko niestety przy kilku tysiącach wierszy skrypt się wywala - dzisiaj generowałem jakieś 1500 i trwało to blisko 5 minut.
Tymczasem wkhtmltopdf zrobił to samo w jakieś 5 sekund smile.gif
Żeby tego było mało to klient planuje generować kilkukrotnie większe pliki - chyba wolę sobie nawet nie wyobrażać co się będzie wtedy działo z tcpdf biggrin.gif


Macie z nim jakieś doświadczenia z tym wkhtmltopdf?
BigPig
@Sazian, ja korzystam z tego w paru projektach i maszynka jest naprawdę fajna wink.gif Także tego, polecam.
destroyerr
@sazian ja nie mam takich doświadczeń z wkhtmltopdf, ale czy nie byłoby lepiej generować każdą stronę tego pdfa osobno?
mls
Cytat(sazian @ 8.02.2016, 18:48:44 ) *
Macie z nim jakieś doświadczenia z tym wkhtmltopdf?


Mamy. W systemie który tworzymy generujemy przez whkhtmltopdf raporty, czasem mające po kilkadziesiąt czy nawet kilkaset stron. Generujemy również te same dane w arkuszach excel i te generują się niejednokrotnie dłużej niż pliki pdf wink.gif
lukaskolista
Korzystam z wkhtmltopdf, w php jest do tego fajna biblioteka snappy. Jako silnik korzysta z webkit, ale jak ze wszystkim czasami zdarzają się problemy, jednak wydajnościowo jest nieporównywalnie szybsza, niż te napisane w php (np. renderuje PDF po 50 000 stron, co w php trudne - kiedyś mi się udało, ale mieliło z godzinę i generalnie rzeźba niesamowita).
sazian
Cytat(destroyerr @ 8.02.2016, 22:52:41 ) *
@sazian ja nie mam takich doświadczeń z wkhtmltopdf, ale czy nie byłoby lepiej generować każdą stronę tego pdfa osobno?

nie, jest to potrzebne do modułu który generuje coś w rodzaju zestawienia produktów z wielu zamówień w sklepie do jednego podsumowania.
Podsumowanie jest pojedynczą tabelą która musi zostać przerobiona na pdfa i wydrukowana.
A skoro klient wymaga żeby było to pojedyncze zestawienie z np. 200 zamówień to nie mam jak tego podzielić na wiele plików - jest to niezgodne z wymogami projektowym.

@lukaskolista
no właśnie widziałem że są jakieś biblioteki do tego,
w pierwszej kolejności wygooglowałem tą https://github.com/mikehaertl/phpwkhtmltopdf
dosyć fajnie wygląda również ten projekt https://github.com/mreiferson/php-wkhtmltox tylko chyba już jest nie rozwijany

No cóż, trzeba się brać za testy smile.gif


destroyerr
Cytat
Podsumowanie jest pojedynczą tabelą która musi zostać przerobiona na pdfa i wydrukowana.

Tak, ale zawarta jest ta tabela na wielu stronach.
Cytat
A skoro klient wymaga żeby było to pojedyncze zestawienie z np. 200 zamówień to nie mam jak tego podzielić na wiele plików - jest to niezgodne z wymogami projektowym.

Napiszę dla pewności, że miałem na myśli generowanie każdej strony pdfa osobno i potem złączenie w jeden. Jeżeli jednak wymagania na to nie pozwalają, no to...
sazian
tylko łączenie pdfów po stronie php również jest powolne i mało efektywne.
No i najważniejsze jest to że wiersze mają różne wysokości więc nie wiem gdzie dokładnie skończy strona - czyli przy łączeniu mogłyby powstawać strony z tylko jednym rekordem
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.