2012-10-06 28 views
10

Tôi đang cố gắng đặt wkhtmltopdf lên máy chủ virtualbox'ed ubuntu 12.04 64bit. Cho đến nay không có may mắn. Các gói phần mềm từ các kho muốn có xserver chạy và phiên bản tĩnh: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 

Bất kỳ ý tưởng làm thế nào tôi có thể tiếp cận này?

+0

Sẽ điều này giúp bạn chạy nó mà không x: http : //stackoverflow.com/a/12483745/694325? Cài đặt openSSL có thể giúp với các vấn đề https (vì vậy tôi nghe, chưa thử nghiệm). – Nenotlep

+0

Có thể, nhưng vì tôi không sử dụng trực tiếp wkhtmltopdf (sử dụng thư viện tích hợp php), tôi có thể cần thay đổi thư viện để sử dụng phương thức gọi được mô tả ở trên – HouseMD

+0

http://stackoverflow.com/questions/4986632/run-wkhtmltopdf- trên-centos-5-5-32bit có vấn đề tương tự và nó có liên quan đến lỗi chuyển, nhưng tôi đang sử dụng wget và extractin trên máy chủ. Lỗi tương tự xuất hiện trên CentOS 5 – HouseMD

Trả lời

13

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

Về cơ bản, nó đã cố định khoảng một năm trước, nhưng vẫn chưa được công bố. Thật là một mớ hỗn độn :(

Hãy thử sử dụng 0.10.0_rc2 version thay vào đó, mà làm việc một cách hoàn hảo đối với tôi

+0

Vâng, tôi cũng sử dụng phiên bản rc2. – HouseMD

+0

Bạn đã chính xác, nhưng sau khi kiểm tra nhanh, có vẻ như 0.10.0_rc2 không hoạt động ở nơi 0.11.0_rc1. Rất đáng thất vọng. – aidan

+0

Tôi có thể tìm nguồn phiên bản này ở đâu, tôi đã thử với 0.9.9 nhưng dường như không hỗ trợ QT? –

4

Các lỗi QPixmap không gây ra lỗi phân khúc. Trong thực tế, thêm các tùy chọn --disable-javascript giải quyết vấn đề này. Bạn vẫn sẽ nhận được những lời cảnh báo nhưng PDF được tạo ra một cách chính xác HTH

+0

Điều này đã khắc phục được sự cố của tôi, CentOS 6, Apache 2.22, PHP 5.4, wkhtmltopdf nhị phân từ wkhtmltopdf.org 0.12.1 (có vá Qt). Chuyển đổi hoạt động tốt với 'sudo -u apache wkhtmltopdf ...' nhưng Segfaulted khi exec() từ PHP. Với --disable-javascript hoạt động ở đó. Cảm ơn! – jaywink

0

nhị phân sử dụng:... wkhtmltopdf 0.11.0 rc1 linux i386

tôi đã thấy những lỗi segmentation khi chuyển đổi các trang có Google Maps API JS nhúng Trong những trường hợp một tập tin đầu ra có 0 kích thước byte đã được tạo. Không tìm thấy bất kỳ solu nào tion để có được phiên bản này chạy bởi các đối số dòng lệnh khác nhau để wkhtmltopdf.

Cuối cùng chuyển sang Google Maps Static API để ngăn tác vụ JS nặng, dường như gây ra sự cố. Điều này chỉ nhúng bản đồ dưới dạng hình ảnh tĩnh, trông khá tốt khi in nếu bạn cung cấp tỷ lệ = 2 làm tùy chọn.

0

Tôi gặp sự cố tương tự (segfault) và phát hiện ra mình có giới hạn ulimit -v (bộ nhớ ảo) được đặt khi thực thi wkhtmltopdf từ apache. Mọi thứ đang chạy tốt từ dòng lệnh khi sử dụng cùng một lệnh.

tôi đã có thể phù hợp với nó bằng cách thêm vào trước các lệnh với ulimit như thế này: "ulimit -v 1073741824; wkhtmltopdf --page kích thước Letter ...."

Các vấn đề liên quan