Saya telah menggunakan wkthmltopdf untuk mengonversi dokumen html ke pdf dengan cepat di server web linux saya. Program ini awalnya membutuhkan X11 atau server X serupa untuk berjalan dengan benar, tetapi melalui banyak permintaan oleh pengembang untuk menjalankan ini di server tanpa GUI, saya cukup yakin ini menjalankan server X virtual dalam versi statis . Saya telah menggunakan program versi statis (berdiri sendiri) dan bekerja dengan baik! Saya akan meletakkan file yang dapat dieksekusi di sebuah folder, dan menjalankan:
./wkhtmltopdf file1.html file2.pdf
Namun saya ingin menginstal program ini di seluruh sistem. Saya menggunakan apt-get install wkhtmltopdf
(baru saja menginstal kemarin) dan karena saya menjalankan sistem 64 bit, saya juga membutuhkannya apt-get install ia32-libs
. Setelah instalasi saya dapat menemukan versi seperti ini:
wkhtmltopdf --version
keluaran:
Name:
wkhtmltopdf 0.9.9
License:
Copyright (C) 2008,2009 Wkhtmltopdf Authors.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
Authors:
Written by Jakob Truelsen. Patches by Mário Silva, Benoit Garret and Emmanuel
Bouthenot.
Sekarang ketika saya mencoba menjalankan program yang diinstal melalui aptitude, saya mendapatkan kesalahan berikut:
wkhtmltopdf: cannot connect to X server
Adakah yang tahu bagaimana saya bisa memperbaikinya? Saya kira versi ini tidak memiliki server X virtual atau semacamnya.
sumber
/usr/bin/
direktori, Anda dapat menggunakannya dari mana saja. Mereka menambahkan x-server virtual ke executable statis, jadi tidak perlu membuat skrip pembungkus.If you get the error "Cannot connect to X server" then continue to number 6.
maksud pernyataan di nomor 6 ? Saya sangat bingung dengan ini. Apakah Anda bermaksud mengatakan terus ke nomor 7?Ini memecahkan masalah untuk saya:
sumber
sudo yum install xorg-x11-server-Xvfb
resp.sudo dnf install xorg-x11-server-Xvfb
.Saya mencoba melakukannya
sudo apt-get install wkhtmltopdf
tetapi tidak berhasil. Sebagai gantinya saya sarankan Anda mencoba:Unduh file executable terbaru (.11 rc1):
wget https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
buka kompresnya:
tar -vxf wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
ganti namanya:
mv wkhtmltopdf-i386 wkhtmltopdf
chmod ke dapat dieksekusi:
chmod a+x wkhtmltopdf
letakkan di / usr / bin:
sudo mv wkhtmltopdf /usr/bin
sumber
https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2
Baru saja berhasil:
1- Untuk mengunduh dependensi wkhtmltopdf
# apt-get install wkhtmltopdf
2- Unduh dari sumber
# wget http://downloads.sourceforge.net/project/wkhtmltopdf/xxx.deb
# dpkg -i xxx.deb
3- Coba
# wkhtmltopdf http://google.com google.pdf
Ini bekerja dengan baik
Berhasil!
sumber
apt-get install -f
setelah menginstal paket untuk mendapatkan dependensi. Jika tidak bekerja seperti pesona. Lebih suka metode ini daripada yang dijelaskan lainnya.wget -q http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
diikuti olehsudo dpkg --install wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
sudo mv wkhtmltopdf /usr/bin
dari/usr/local/bin/
direktori, tetapi ini bekerja dengan baik! Saya mencoba setiap metode lain di halaman ini tanpa hasil sebelumnya ..Saya menemukan metode untuk menyelesaikan masalah ini tanpa server X palsu. Di versi terbaru wkhtmltopdf tidak memerlukan server X untuk bekerja, tetapi tidak ada di repositori resmi linux.
Solusi untuk Ubuntu 14.04.4 LTS (terpercaya) i386
Solusi untuk Ubuntu 14.04.4 LTS (terpercaya) amd64
Felixhummel pengguna mendapat solusi yang sangat bagus, tetapi repositori dengan utilite telah berubah.
sumber
Memperluas jawaban Timotius ...
Jika Anda seorang pengembang web yang ingin menggunakan wkhtmltopdf sebagai bagian dari aplikasi web Anda, Anda dapat menginstalnya ke
/usr/bin/
folder Anda seperti ini:Sekarang Anda dapat menjalankannya di mana saja menggunakan
wkhtmltopdf
.Saya pribadi menggunakan pustaka Snappy di PHP. Berikut adalah contoh betapa mudahnya membuat PDF:
sumber
Perbarui ke versi wkhtmltopdf terbaru dari SourceForge (0,12 saat tulisan ini dibuat). Ini tidak membutuhkan X Server untuk dijalankan.
Contoh untuk Ubuntu 14.04:
sumber
untuk 14.04.1-Ubuntu https://wkhtmltopdf.org/downloads.html
sumber
sumber
Masalahnya mungkin ada di wkhtmltopdf versi lama - versi 0.9 dari repositori distribusi memerlukan server X yang dijalankan, tetapi versi saat ini - 0.12.2.1 tidak memerlukannya - dapat berjalan tanpa kepala.
Unduh paket untuk distribusi Anda dari http://wkhtmltopdf.org/downloads.html dan instal - untuk Ubuntu:
sumber
wkhtmltopdf
>0.11
tidak memilikiX-server
masalah ini .Jadi menginstal
0.12.2.1
di server linux.Pertama instal server xvfb:
Dapatkan versi wkhtmltopdf yang dibutuhkan dari http://wkhtmltopdf.org/downloads.html
Pasang wkhtmltopdf:
atau instal dengan
wget
Instal dependensi (jika perlu):
Buat tautan simbolis di
/usr/local/bin/
:Sekarang coba di bawah ini dan seharusnya berfungsi,
sumber
Saya baru tahu bahwa saya cukup memindahkan executable statis ke
/usr/bin/
direktori dan menjalankannya dari mana saja.sumber
Disarankan untuk menggunakan setidaknya 0.12.2.1.
Mulai dari wkhtmltopdf> = 0.12.2 tidak lagi membutuhkan X server atau emulasi. Anda dapat mengunduh versi baru dari http://wkhtmltopdf.org/downloads.html
sumber
Saya memang mengikuti petunjuk di sini dan membuat wkhtmltopdf bekerja untuk saya, tetapi saya ingin menawarkan sedikit perspektif yang saya temukan saat melakukan tarian kecil saya sendiri dengan
wkhtmltopdf
-xvfb
.Ini penting karena alasan yang sama yang menyebabkannya melempar
cannot connect to X server
kesalahan terkenal juga menyebabkannya berjalan dengan batasan yang parah bahkan jika Anda menyediakannya server X. Batasan ini termasuk tidak dapat mengambil banyak sumber input, mengatur header dan footer, dll (periksa bagian Fungsionalitas yang Dikurangi dari manual ).wkhtmltox
Dengan sendirinya tidak memerlukan X11, tetapi itu menggunakan perpustakaan QT yang melakukannya. Dalam versi baru, pengembang wkthmltox membuat tambalan untuk QT yang memungkinkannya berjalan dengan X11.Saat ini beberapa versi dibuat dengan QT yang ditambal dan beberapa tidak. Anda dapat memeriksa versi Anda dengan menjalankan
wkhtmltopds --version
. Harus ada baris di akhir yang bertuliskanCompiled against wkhtmltopdf patched qt.
Jadi, sebagai kesimpulan, jika Anda menginstal dan menggunakan versi yang menggunakan pustaka yang ditambal, versi itu seharusnya bekerja pada server linux tanpa
xvfb
server, seperti yang dapat saya konfirmasikan.sumber
solusi untuk Centos7 :
Kami mengalami masalah ini di dalam wadah buruh pelabuhan dan instalasi di atas memiliki wkhtmltopdf dengan QT yang ditambal
sumber
sudo rpm -Uvh https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm
Perhatikan: file Anda bisa jadi
wkhtmltopdf.sh
atauwkhtmltopdf
, periksa di langkah keduaAnda harus menyalinnya ke direktori: / usr / local / bin , pastikan itu dapat dieksekusi dan tambahkan symlink dari wkhtmltopdf.sh seperti:
1- perintah:
2 - masukkan biner ke direktori / usr / bin sehingga browser tidak memiliki izin untuk mengeksekusi di direktori ini. Anda harus menyalin wkhtmltopdf.sh ke direktori / usr / local / bin karena browser memiliki izin di direktori ini seperti:
3 - Setelah memastikan biner memiliki izin eksekusi seperti:
4 - jadi sekarang Anda dapat menguji, ini berfungsi seperti:
itu membuat unduhan pdf di direktori saat ini di terminal Anda
5 - Opsional sekarang Anda dapat menambahkan symlink di Anda direktori / usr / / lokal bin seperti
sumber
/usr/bin/
/usr/bin/wkhtmltopdf
wkhtmltopdf http://www.google.com test.pdf
petunjuk: informasi detail dari tautan inisumber
Cukup instal versi 0.12.4 atau lebih tinggi. Ini sepertinya menyelesaikan masalah.
Lihat Bagaimana cara menginstal wkhtmltopdf terbaru di Ubuntu 16.04? .
sumber
Jika Anda mengkonfigurasi wkhtmltopdf untuk Rails atau Sesuatu di Centos, Anda dapat mengikuti langkah berikut di bawah ini:
Di server centos bash.
wget link_of_wkhtmltopdf_rpm.rpm
rpm -ivh link_of_wkhtmltopdf_rpm.rpm
which wkhtmltopdf
=> Anda akan mendapatkan jalur wkhtmltopdf.
Setup untuk wicked_pdf atau pdfkit dengan path pada langkah 4. Ini adalah contoh konfigurasi dengan wickedpdf. config / penginisialisasi / wicked_pdf.rb
Mulai ulang server.
SELESAI.
sumber
Untuk Penggunaan 64-bit:
sumber
Cukup beri tahu backend Qt untuk tidak menggunakan X:
sumber