如何用补丁qt安装wkhtmltopdf?

时间:2015-12-27 09:08:38

标签: qt wkhtmltopdf

我想将html转换为pdf,并使用wkhtmltopdf。

但是打印尺寸比我想象的要小。 我想尝试--disable-smart-shrinking选项但出现错误,如

$ 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

也许我必须使用补丁qt安装wkhtmltopdf,但我不知道如何安装。

我看到了以下尺寸,但是gitorious.org并不起作用。

wkhtmltopdf patched qt?

我的操作系统是Ubuntu14.04,而wkhtmltopdf版本是0.12.2.1

如果您知道其他原因要打印较小,请告诉我。感谢。

4 个答案:

答案 0 :(得分:60)

这个简单的解决方案(无需安装xvfb,既不编译QT也不编译wkhtmltopdf)就像我的Debian Jessie服务器上的魅力一样:

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

答案 1 :(得分:15)

在Ubuntu 16.04上安装0.12.3版的步骤。

因为我浪费了太多时间来追踪这一点,所以这里有其他绊脚石:

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/

您可以通过以下方式确认:

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

顺便说一下,我选择了0.12.3而不是0.12.4,因为有一个奇怪的页面大小调整问题,讨论过here

答案 2 :(得分:8)

您可以使用wkhtmltopdf选项安装--disable-smart-shrinking wkhtmltopdf

下载并安装它。

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

文件说

  

wkhtmltopdf 0.12.2.1(带补丁qt)

  

- disable-smart-shrinking禁用智能收缩策略                                         由WebKit用来制作像素/ dpi                                         比率无常数

答案 3 :(得分:0)

以下是使用用于Ubuntu 14.04、15.04、16.04、18.04和20.04的Shell脚本安装wkhtmltopdf 0.12.5(带有修补的qt)的简单步骤。

步骤1.创建一个外壳文件

cd /tmp && nano install_wkhtmltopdf.sh

第2步。粘贴以下代码

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

第3步。使文件可执行

sudo chmod +x install_wkhtmltopdf.sh

第4步。执行Shell脚本

./install_wkhtmltopdf.sh