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

Posted

技术标签:

【中文标题】如何在 debian 64 位上正确安装 wkhtmltopdf?【英文标题】:How to correctly install wkhtmltopdf on debian 64 bit? 【发布时间】:2016-11-10 18:11:30 【问题描述】:

我正在尝试安装 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 上启动打印时,我仍然得到 ​​p>

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 

【问题讨论】:

这对我有帮助 ***.com/a/50153456/26130 【参考方案1】:

Ubuntu 和 Debian 软件包在大多数情况下都是兼容的,但并非在所有情况下都兼容,我认为这是您在尝试使用 Ubuntu 的 .deb 用于 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 脚本中,这取决于你拥有哪一个

例如在path环境变量前面加上/usr/local/bin

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

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

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

【讨论】:

我在尝试执行 sudo dpkg -i wkhtmltox-0.12.1_linux-wheezy-amd64.deb dpkg: error processing package wkhtmltox (--install): 依赖问题 - 未配置处理时收到此错误man-db (2.7.0.2-5) 的触发器...处理时遇到错误:wkhtmltox 运行sudo apt-get dist-upgrade,如果依赖问题没有解决运行sudo apt-get dist-upgrade -f gna.org 似乎已关闭 - 请参阅此处:en.wikipedia.org/wiki/Gna!上面写着:The service was shut down in 2017.关于替代下载源的任何建议? 是的,有一个替代来源...直接来自github,例如github.com/wkhtmltopdf/wkhtmltopdf/releases/0.12.1我已经更新了答案中的url Odoo 11 出现了,仍然使用 0.12.1 版本,但不再在 debian Jessie 或 Wheezy 上运行。因此,在这里,要在 Stretch 上安装此版本的 wkhtmltopdf 的一些补充:您需要 download(在 google 和 wget 上找到 repo)和 install(使用dpkg -i):libssl1.0.0_1.0.1t-1+deb8u7_amd64.deblibpng12-0_1.2.49-1+deb7u2_amd64.deblibjpeg8_8d-1+deb7u1_amd64.deb然后就可以使用答案了。【参考方案2】:

这在 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

【讨论】:

谢谢,成功了。【参考方案3】:

我正在运行 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

应该返回:

    wkhtmltopdf 0.12.5 (with patched qt)

【讨论】:

【参考方案4】:

试试

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/

【讨论】:

此错误发生在“sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb dpkg:依赖问题阻止配置 wkhtmltox:wkhtmltox 依赖于 libjpeg-turbo8;然而:包 libjpeg-turbo8未安装 dpkg: 错误处理包 wkhtmltox (--install): 依赖问题 - 未配置 man-db (2.7.0.2-5) 的处理触发器...处理时遇到错误:wkhtmltox【参考方案5】:

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

未安装软件包 libjpeg-turbo8

最后我通过使用 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

【讨论】:

【参考方案6】:

这个问题是由于 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

【讨论】:

gna.org 似乎已关闭 - 请参阅此处:en.wikipedia.org/wiki/Gna!上面写着:The service was shut down in 2017. 关于替代下载源的任何建议?【参考方案7】:
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

【讨论】:

在给出答案时,最好给出some explanation as to WHY your answer。【参考方案8】:

下载路径更改为以下!请尝试使用以下链接。

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/ 并重新启动所有正在运行的 Odoo 服务

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

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

【讨论】:

【参考方案9】:

我正在使用Devuan ascii(基于Debian stretch),这就足够了

sudo apt install wkhtmltopdf

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

【讨论】:

以上是关于如何在 debian 64 位上正确安装 wkhtmltopdf?的主要内容,如果未能解决你的问题,请参考以下文章

Windows 64 位上的 Qt Jambi eclipse 集成错误

如何在 Windows 10 64 位上安装 pygraphviz

Sonarqube 和 Jenkins 在 Windows 64 位上安装 - 此时 jre 出乎意料

如何在 Windows 7 64 位上安装 PyOpenSSL?

如何在 ubuntu 16.04 64 位上安装 Pyjnius

cx_Oracle 无法在 Python 3.9 中导入,尽管一切都已正确路径并且所有必需的部分都在 64 位上运行