46

I want to convert html to pdf, and I use wkhtmltopdf.

But print size is smaller than I supposed. I want to try --disable-smart-shrinking option but error occured like

$ xvfb-run -- /usr/bin/wkhtmltopdf --disable-smart-shrinking $INPUT $OUTPUT
The switch --disable-smart-shrinking, is not support using unpatched qt, and will be ignored.Loading page (1/2)
Printing pages (2/2)
Done

Maybe I have to install wkhtmltopdf with patched qt, but I don't know how to install.

I saw following size, but gitorious.org doesn't work.

wkhtmltopdf patched qt?

My OS is Ubuntu14.04, and wkhtmltopdf version is 0.12.2.1

If you know other reason to be printed smaller, tell me please. thanks.

Community
  • 1
  • 1
hidechae
  • 675
  • 1
  • 6
  • 11
  • 1
    `--disable-smart-shrinking` option problem is resolve by install from http://wkhtmltopdf.org/downloads.html. But size problem is still occured. – hidechae Dec 27 '15 at 09:28
  • 1
    I think you need a new question for the size problem. the size problem depends on HTML or wkhtmltopdf or other. so add more information to the new question. – shingo.nakanishi Dec 30 '15 at 01:55
  • 1
    ok, I will make new question for the size problem. Install problem is resolbed, thanks. – hidechae Dec 31 '15 at 04:52

4 Answers4

80

This straightforward solution (no need to install xvfb, neither compiling QT neither wkhtmltopdf) works like a charm on my Debian Jessie server :

cd mytmpfolder
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
sudo tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
sudo mv wkhtmltox/bin/wkhtmlto* /usr/bin/
#create simple html test file
echo "<html><body>test</body></html>" >> test.html
#perform conversion
sudo wkhtmltopdf  --disable-smart-shrinking  --lowquality --enable-external-links --enable-internal-links test.html test.pdf
maciek
  • 3,198
  • 2
  • 26
  • 33
Tsounabe
  • 2,109
  • 1
  • 16
  • 25
38

Steps to Install Version 0.12.3 on Ubuntu 16.04.

Because I wasted way too much time tracking this down, here it is for others stumbling on this:

cd ~
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
tar vxf wkhtmltox-0.12.3_linux-generic-amd64.tar.xz 
cp wkhtmltox/bin/wk* /usr/local/bin/

And you can confirm with:

$ wkhtmltopdf --version
wkhtmltopdf 0.12.3 (with patched qt)

Btw, I chose 0.12.3 instead of 0.12.4 because of a strange page sizing issue, discussed here.

Joshua Pinter
  • 45,245
  • 23
  • 243
  • 245
12

You can install wkhtmltopdf with --disable-smart-shrinking option from wkhtmltopdf.

Download and Install it.

http://wkhtmltopdf.org/usage/wkhtmltopdf.txt

The Document say

wkhtmltopdf 0.12.2.1 (with patched qt)

and

--disable-smart-shrinking Disable the intelligent shrinking strategy used by WebKit that makes the pixel/dpi ratio none constant

shingo.nakanishi
  • 2,045
  • 2
  • 21
  • 55
4

Here are the simple steps to install the wkhtmltopdf 0.12.5 (with patched qt) using a shell script for Ubuntu 14.04, 15.04, 16.04, 18.04, and 20.04.

Step 1. create a shell file

cd /tmp && nano install_wkhtmltopdf.sh

Step 2. paste the below code

WKHTMLTOX_X64=https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.trusty_amd64.deb
WKHTMLTOX_X32=https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.trusty_i386.deb

sudo apt-get install wget git python-pip gdebi -y

if [ "`getconf LONG_BIT`" == "64" ];then
  _url=$WKHTMLTOX_X64
else
  _url=$WKHTMLTOX_X32
fi
sudo wget $_url
sudo gdebi --n `basename $_url`
sudo ln -s /usr/local/bin/wkhtmltopdf /usr/bin
sudo ln -s /usr/local/bin/wkhtmltoimage /usr/bin

Step 3. make the file executable

sudo chmod +x install_wkhtmltopdf.sh

Step 4. execute the shell script

./install_wkhtmltopdf.sh
Atul Arvind
  • 16,054
  • 6
  • 50
  • 58
  • if you get "E: Package 'libpng12-0' has no installation candidate" be sure you install the proper package compatible to your distro. See here https://askubuntu.com/a/1371063/276370 – Jorj Aug 27 '22 at 18:57