2012-10-06 10 views
10

Próbuję umieścić wkhtmltopdf na serwerze 64bps ubuntu 12.04 virtualbox. Na razie nie ma szczęścia. Pakiet z repozytoriów chce mieć przebieg xserver i statyczną wersję:wkhtmltopdf segfaults

wkhtmltopdf google.com tesss.pdf 
Loading pages (1/6) 
QSslSocket: cannot resolve SSLv2_client_method    ] 10% 
QSslSocket: cannot resolve SSLv2_server_method 
Counting pages (2/6)            
Resolving links (4/6)              
Loading headers and footers (5/6)           
Printing pages (6/6) 
QPixmap: Cannot create a QPixmap when no GUI is being used===] Page 1 of 1 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
Segmentation fault 

pomysłów jak mogłem podejść do tego?

+0

pomogłoby to go uruchomić bez x: http : //stackoverflow.com/a/12483745/694325? Zainstalowanie openSSL może pomóc w rozwiązywaniu problemów z protokołem https (więc słyszę, nie testowałem). – Nenotlep

+0

Być może, ale ponieważ nie używam pliku wkhtmltopdf bezpośrednio (przy użyciu biblioteki integracji php), może zajść potrzeba zmiany biblioteki, aby użyć metody wywoływania opisanej powyżej – HouseMD

+0

http://stackoverflow.com/questions/4986632/run-wkhtmltopdf- on-centos-5-5-32bit miał podobny problem i był związany z błędami transferu, ale używam wget i extractin na serwerze. Ten sam błąd pojawia się na CentOS 5 – HouseMD

Odpowiedz

13

http://code.google.com/p/wkhtmltopdf/issues/detail?id=730

Zasadniczo został ustalony około rok temu, ale nie została jeszcze wydana. Co za bałagan :(

Spróbuj użyć 0.10.0_rc2 version zamiast, który pracował idealnie dla mnie

+0

Tak, użyłem także wersji rc2. – HouseMD

+0

Masz rację, ale po szybkiej inspekcji wygląda na to, że 0.10.0_rc2 nie robi kerningu tam, gdzie robi to 0.11.0_rc1. Bardzo rozczarowujący. – aidan

+0

Gdzie mogę znaleźć to źródło wersji, próbowałem z 0.9.9, ale wydaje się nie obsługiwać QT? –

4

Błędy QPixmap nie są przyczyną usterki segmentacji. W rzeczywistości, dodając opcję --disable-javascript rozwiązuje ten problem. Nadal dostanie ostrzeżenia ale PDF jest generowany poprawnie HTH

+0

Naprawiłem mój problem, CentOS 6, Apache 2.22, PHP 5.4, wkhtmltopdf binarny z wkhtmltopdf.org 0.12.1 (z załatanym Qt). Konwersja działała dobrze z 'sudo -u apache wkhtmltopdf ...' ale Segfaulted gdy exec() z PHP. Poza tym działa tam także -disable-javascript. Dzięki! – jaywink

0

binarne stosowane:... wkhtmltopdf 0.11.0 RC1 Linux i386

widziałem naruszenie ochrony pamięci przy konwersji stron o Google Maps API JS osadzone w tych przypadkach plik wyjściowy konieczności Wygenerowano 0 bajtów, nie znaleziono żadnego rozwiązania w celu uruchomienia tej wersji przez różne argumenty wiersza poleceń do wkhtmltopdf.

Wreszcie zmieniono na Google Maps Static API, aby zapobiec ciężkiej pracy JS, która wydaje się powodować problem. To po prostu osadza mapę jako obraz statyczny, który wygląda całkiem dobrze podczas drukowania, jeśli dostarczasz skalę = 2 jako opcję.

0

Miałem podobny problem (segfault) i odkryłem, że miałem limit ulimit -v (wirtualnej pamięci) ustawiony przy wykonywaniu wkhtmltopdf z apache. Wszystko działało dobrze z linii poleceń, gdy używasz tego samego polecenia.

byłem w stanie dopasować go przez poprzedzenie polecenia z ulimit tak: „ulimit -v 1073741824; wkhtmltopdf --page rozmiarze Letter ....”

Powiązane problemy