我想将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并不起作用。
我的操作系统是Ubuntu14.04,而wkhtmltopdf版本是0.12.2.1
如果您知道其他原因要打印较小,请告诉我。感谢。
答案 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)
因为我浪费了太多时间来追踪这一点,所以这里有其他绊脚石:
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