Opcje Wkhtmltopdf hosting Drupal
ChrisChinchilla 02.02.2015 17:01:12 UTC # 1
Kilka miesięcy temu miałem wymóg klienta do generowania PDF, w tym przypadku do generowania certyfikatów, które można przeglądać online lub wydrukować. Spędziłem trochę czasu patrząc na najlepszych dostępnych opcji Drupala i podniósł kilka rad po drodze o tym, jak najlepiej osiągnąć te cele. Po wspomnieć moje wyniki do kilku osób, wydawało się, że pokolenie PDF był częstym wymogiem i teraz mam taką samą potrzebę ponownie na osobistym projektem, więc wydawało się dobre studium przypadku, aby przejść przez to, co znalazłem.
Dlaczego nie po prostu wydrukować?
Jeśli Twoje wymagania są proste, może łatwiej będzie po prostu poinformować swoich użytkowników serwisu do drukowania i nic nie zatrzymując je w ten sposób. Jeśli chcemy poziom kontroli nad tym, co jest drukowane lub chcemy rozpowszechniać plików do druku, to musimy patrzeć na innych opcji.
Web vs Drukuj
generowanie PDF zajmuje niewielką zmianę sposobu myślenia. Jako programistów, spędziliśmy sporo czasu przekonać projektantów ze środowiska druku, aby zatrzymać produkcję pikseli doskonałe projekty, które będą trudne do odtworzenia w internecie. Jeśli chcesz wprowadzić generacji PDF lub jakąkolwiek formę wysokiej zaprojektowane wydruków, wtedy musimy uczyć się na nowo niektóre z naszych starych umiejętności my pozostawionych. Charakter druku oznacza, że jest precyzyjne i często potrzebuje piksel (lub milimetrach) doskonały design.
Co ja próbuje osiągnąć?
Obecnie pracuję na planszy i chcę, aby umożliwić graczom możliwość tworzenia własnych kartek, które mogą być udostępnione na stronie internetowej i drukowane do wykorzystania w grze. Mamy określony rozmiar i układ, że te karty będą zawsze i trzeba odpowiadać, oto wstępny projekt, który będziemy częściowo odtworzyć:
Opcje PDF w Drupal
Są dwie opcje w Drupal do tworzenia plików PDF. Moduł druku i widoki PDF. Widoki PDF początkowo wydawało się, że lepszym rozwiązaniem, gdyż pozwoli nam wykorzystać moc poglądów i niezliczonych możliwości, jakie oferuje. Jednak ma ona moduł PHP jako uzależnienia i, o ile mi wiadomo, jest uzależniona od funkcji eval (). generowanie PDF ma potencjał, aby być serwerem intensywne zadania i ta metoda wydawała mi się nieefektywne, oprócz mojej niechęci do kiedykolwiek jakiegokolwiek modułu oceny PHP włączony Drupal.
To spowodowało, że osiedlenie się w module druku, który jest również lepsze wsparcie i oferuje wiele innych możliwości wyjścia, które mogą okazać się przydatne.
Następnie musimy zdecydować się na naszej biblioteki generowania PDF, mam zamiar proponuję użyć wkhtmltopdf i wyjaśnić dlaczego później, jak chcę zbudować coś porównać pierwszy. Aby to zrobić, odwiedzając stronę internetową wkhtmltopdf i postępuj zgodnie z instrukcjami dotyczącymi konfiguracji. Pamiętaj, to muszą być zainstalowane na lokalnych i produkcyjnych witryn. Po zainstalowaniu należy utworzyć alias do pliku wykonywalnego wkhtmltopdf do katalogu bibliotek Drupal, tj .:
ben_m_gunn 02.02.2015 23:35:58 UTC # 2
Próbowałem się wkhtmltopdf pracy kilka miesięcy temu; Jednak nie udało mi się uzyskać jego pracy. Wydawało się, że to problem na poziomie integracji Drupal od wkhtmltopdf pracował na poziomie wiersza poleceń. Byłem ciekaw, czy trzeba było robić żadnych konkretnych szczypanie, aby uzyskać wkhtmltopdf pracy z Drupal (np musiałem użyć określonej wersji wkhtmltopdf, etc.)?
ChrisChinchilla 3/02/2015 07:55:17 UTC # 3
Hmm, tylko szczypanie zrobiłem na drupal strony był dpi i marginesy wspomniane powyżej. Ci Sym połączony plik wykonywalny do folderu biblioteki?
Ja używam. wkhtmltopdf 0.12.1 (o poprawionych QT)
Który znajduje się na pudełku Vagrant systemem Ubuntu 14.04
Jaka jest twoja konfiguracja? I jakie błędy nie masz w logach?
apmsooner 03.02.2015 16:16:04 UTC # 4
Jeśli chcesz coś, co jest o wiele bardziej skalowalne i bez ograniczeń wtrąceń HTML5 / CSS3, zachęcam do spojrzeć na docraptor usługi przez osoby trzecie. To koszt nominalny i stworzyłem wtyczkę do modułu druku, który działa całkiem dobrze. Mój problem z innymi bibliotekami były ograniczenia w uznanych stylów, jak również wydajność. Mogę wysłać kilkaset stron do docraptor bez problemów. Wszystko inne próbowałem zawiodły na większych dokumentach.
ChrisChinchilla 04.02.2015 15:39:58 UTC # 5
Dzięki za to, że nie był świadomy tej opcji. Czy miałeś jakieś problemy z replikacji układy?
tenten71 04.02.2015 16:28:19 UTC # 6
Nie próbowałem tego w Drupal, ale byłem ostatnio sukcesy w użyciu FPDF w WordPressie. Zakładam, że będzie to trochę trudniejsze w Drupal, ale byłem bardziej niż zadowolony z moich wyników WP.
apmsooner 04.02.2015 16:45:46 UTC # 7
Żadnych problemów w replikacji układy z Docraptor. FYI, docraptor działa na princexml. Wybrałem docraptor ponieważ princexml jako samodzielny musi działać jako wykonywalnego na serwerze, który nie mogę zrobić w środowisku cloud hostingu i jego również bardzo drogie dla licencji. Więc docraptor działa jako pośrednik do generowania plików PDF na ich końcu i odesłać je do swojej witryny.
Dodatkowo można tworzyć zakładki pdf, dynamiczny spis treści, stopki z liczby stron, itd. Można zobaczyć kilka bardzo ciekawych próbek tutaj: www.princexml.com/samples/. Wszystkich obsługiwanych CSS jest wymieniony na tej stronie, jak również.
Ben_Hitchcock 05.02.2015 02:48:54 UTC # 8
Byłem walczy ten problem od lat. Zacząłem htmldoc, a następnie udał się do wkhtmltopdf. Podczas gdy drugi był lepszy niż pierwszy, oba z nich wymaga utworzenia pliku binarnego na serwerze, co oznacza, że kod nie jest przenośny, szczególnie w środowisku współdzielonym hostingu.
Następnie próbowałem PhantomJS, który jest znowu lepiej i można zainstalować binarne jako część drzewa źródłowego, jednak nadal nie jest wcale tak wielka.
Co prowadzi nas do biblioteki PHP.
DomPDF mieli różne problemy, ja starałem się dostać to działa prawidłowo (jak ty).
Co używam teraz jest mpdf. który znalazłem się być fantastyczne. Obsługuje CSS poprawnie (w przeciwieństwie wkhtmltopdf), jest całkowicie przenośny ze swoim kodzie, i szczerze mówiąc, nie znaleziono żadnych problemów z nim. To po prostu działa naprawdę dobrze.
Chciałbym naprawdę polecić próbuje ją.
ChrisChinchilla 05.02.2015 08:22:52 UTC # 9
Dzięki za każdy swoją opinię! Ja głównie następnie ścieżką, co zostało wymienione na stronie modułu drukowania, ale jak już kontynuować mój projekt może patrzę na niektóre z tych innych opcji.
Czy ktoś ma jakieś dodatkowe wskazówki dla uzyskania układów działa dobrze w „Print”, zakładam / nadzieję, że artykuł ten stosuje się jednak z żadnym z tych innych opcji i radą CSS.
Benjy 9/02/2015 14:46:13 UTC # 10
Miałem podobny wymóg kilka tygodni temu i postanowił napisać nowy moduł, który był znacznie mniejszy niż Print. Moduł o nazwie Jednostka druku i wykorzystuje wkhtmltopdf. Główne zalety to:
- To działa z każdym rodzajem jednostki, nie tylko węzłów.
- Znacznie lżejszy, cały moduł jest mniej niż kilkaset linii kodu.
Napędzany dyskursu. najlepiej oglądać z włączoną obsługą JavaScript