如何在 debian 64 位上正确安装 wkhtmltopdf?

How to correctly install wkhtmltopdf on debian 64 bit?

我正在尝试安装 wkhtmltopdf,但是当我安装时:

sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb

我得到:

Preparing to unpack wkhtmltox-0.12.1_linux-trusty-amd64.deb ...
Unpacking wkhtmltox (0.12.1) over (0.12.1) ...
dpkg: dependency problems prevent configuration of wkhtmltox:
  wkhtmltox depends on libjpeg-turbo8; however:
  Package libjpeg-turbo8 is not installed.

dpkg: error processing package wkhtmltox (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.7.0.2-5) ...
Errors were encountered while processing:
 wkhtmltox

所以我尝试了:

apt-get update
apt-get install libjpeg-turbo8

然后我得到

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libjpeg-turbo8 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source

E: Package 'libjpeg-turbo8' has no installation candidate

我使用的是 64 位 debian。 我浏览网页寻找解决方案,但不幸的是没有找到任何答案。 我怎样才能得到 libjpeg-turbo8?

编辑:

所以我尝试了 apt-get install wkhtmltopdf 尽管不推荐它。

apt-get install wkhtmltopdf 的问题是版本并不总是好的,我们应该使用 0.12.1

但是:

root@dev01:/opt/odoo/modules_scndf# apt-cache policy wkhtmltopdf 
wkhtmltopdf:
  Installed: 0.12.1-2
  Candidate: 0.12.1-2
  Version table:
 *** 0.12.1-2 0
         500 http://ftp.debian.org/debian/ jessie/main amd64 Packages
         100 /var/lib/dpkg/status

即使使用 apt-get install wkhtmltopdf 版本似乎也不错,但是当我在 odoo 上启动我的打印时,我仍然得到

Unable to find Wkhtmltopdf on this system. The report will be shown in html.

这意味着他没有安装它应该安装的。

编辑 2:

现在,当我尝试打印报告时,出现一个弹出窗口:

Wkhtmltopdf failed (Error code : -6). Message : The switch 
--header-html, is not support using unpatched qt, and will be 
ignored.The switch --footer-html, is not support using unpatched qt,
and will be ignored.QXcbConnection: Could not connect to display 

试试

sudo apt-get install -y wkhtmltopdf
sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

Ubuntu 和 Debian 软件包在大多数情况下都是兼容的,但并非在所有情况下都兼容,我认为这是您在尝试使用 Ubuntu 的 [=13] 时遇到的麻烦=] 对于 Debian,您应该获取 Debian 特定文件,(它适用于 jessie 和 wheezy)

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-wheezy-amd64.deb
sudo dpkg -i  wkhtmltox-0.12.1_linux-wheezy-amd64.deb

然后在 /etc/init.d/openerp-server/etc/init.d/odoo-server 脚本中,具体取决于您拥有的脚本

/usr/local/bin添加到路径环境变量的前面,例如

PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin, 

这告诉 odoo 在哪里寻找它需要的系统二进制文件,或者您可以选择将文件复制到 /usr/bin,如果您不想弄乱这些文件

sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

wkhtmltopdf 下载页面https://wkhtmltopdf.org/downloads.html

wget http://nightly.odoo.com/extra/wkhtmltox-0.12.1.2_linux-jessie-amd64.deb
dpkg -i wkhtmltox-0.12.1.2_linux-jessie-amd64.deb
/etc/init.d/odoo restart

此问题是由于 wkhtmltopdf 软件包损坏造成的。

您可以尝试使用下面的命令来安装它们 -

首先从您的系统中删除损坏的 wkhtmltopdf。使用 -

sudo apt-get purge wkhtmltopdf

然后尝试使用下面的命令 -

cd /tmp/

然后下载Odoo服务器推荐的wkhtmltopdf版本,目前为0.12.1:-

sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb

然后使用 dpkg 安装软件包:-

sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb

为了正常运行,我们需要将二进制文件复制到合适的位置:

sudo cp /usr/local/bin/wkhtmltopdf /usr/bin
sudo cp /usr/local/bin/wkhtmltoimage /usr/bin

下载路径更改为以下!请尝试以下 link.

https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

然后按照以下命令安装它

sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb


第二个选项

sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

tar-xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

将文件复制到 /usr/bin/ 和 Restart 所有 运行 Odoo 服务

sudo cp ./wkhtmltox/bin/wkhtmltoimage /usr/bin/

sudo cp ./wkhtmltox/bin/wkhtmltopdf /usr/bin/

我正在使用 Devuan ascii(基于 Debian stretch)并且足以

sudo apt install wkhtmltopdf

在安装过程中,它也引入了一些 Qt5 包。无需将可执行文件从 /usr/local/bin/ 复制到 /usr/bin/,因为它已经存在。

这在 Debian Stretch 中对我有用:

$ sudo apt-get -q update
$ sudo apt-get -qy install --no-install-recommends wget
$ wget -nv -O /tmp/wkhtmltox.deb https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb
$ sudo apt-get -qy install /tmp/wkhtmltox.deb

我是 运行 Debian Stretch 9.2 64 位,我成功完成了以下操作:

    sudo apt update
    sudo apt install xfonts-75dpi xfonts-base gvfs colord glew-utils libvisual-0.4-plugins gstreamer1.0-tools opus-tools qt5-image-formats-plugins qtwayland5 qt5-qmltooling-plugins librsvg2-bin lm-sensors 
    sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb
    sudo dpkg -i wkhtmltox_0.12.5-1.stretch_amd64.deb
    sudo cp /usr/local/bin/wkhtmltopdf /usr/bin/
    sudo cp /usr/local/bin/wkhtmltoimage /usr/bin/

然后检查安装:

    wkhtmltopdf -V

哪个应该 return:

    wkhtmltopdf 0.12.5 (with patched qt)

我试图将 wkhtmltopdf 与现有的基于 debian 的 docker 图像一起使用。但是我遇到了

Package libjpeg-turbo8 is not installed

最后我通过使用 dpkg 安装 libjpeg-turbo8 解决了这个问题。以下是 docker 命令:

ARG  jpeg=libjpeg-dev
ARG  ssl=libssl-dev
ENV  CFLAGS=-w CXXFLAGS=-w

RUN apt-get update && apt-get install -y -q --no-install-recommends \
    build-essential \
    libfontconfig1-dev \
    libfreetype6-dev \
    $jpeg \
    libpng-dev \
    $ssl \
    libx11-dev \
    libxext-dev \
    libxrender-dev \
    python \
    zlib1g-dev \
    xfonts-75dpi \
    xfonts-base \
    && rm -rf /var/lib/apt/lists/*
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_2.0.6-0ubuntu2_amd64.deb
RUN dpkg -i libjpeg-turbo8_2.0.6-0ubuntu2_amd64.deb
RUN wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
RUN dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb
RUN apt --fix-broken install