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

时间:2016-07-08 08:29:04

标签: linux install openerp wkhtmltopdf apt-get

我正在尝试安装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 

9 个答案:

答案 0 :(得分:10)

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脚本中,取决于您拥有的那个

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

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

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

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

答案 1 :(得分:7)

我正在运行Debian Stretch 9.2 64位,并且成功完成以下任务:

#> # A tibble: 2 x 1
#>   data               
#>   <list>             
#> 1 <df[,11] [32 × 11]>
#> 2 <df[,5] [150 × 5]>

然后使用以下命令检查安装

dplyr::distinct()

应该返回:

    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/

答案 2 :(得分:4)

在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 :(得分:2)

尝试

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/

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

下载路径已更改为以下内容!请试试以下链接。

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 /

答案 7 :(得分:0)

我使用的是Devuan ascii(基于Debian stretch),足够了

sudo apt install wkhtmltopdf

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

答案 8 :(得分:0)

我试图将 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