WKHTMLTOPDF 在 Ubuntu 上安装错误

问题描述 投票:0回答:4

我们需要 pdf 的页眉、页脚、目录和封面页等功能,我们希望从 html/css 生成这些功能。 我们在 Windows 上尝试了 WKHTML,它的工作就像一个魅力,当移动到我们的服务器时,我们在我们的 ubuntu 服务器上安装了 WKHTML,安装过程成功,但它只有有限的功能,它能够从 HTML 生成 pdf,但提到的所有功能(即页眉、页脚、目录和封面)无法正常工作。以下是它产生的错误。

“开关 -t,不支持使用未修补的 qt,将被忽略。错误:此版本的 wkhtmltopdf 是针对未修补的 QT 版本构建的,并且不支持多个输入文档。”

我们遵循了许多教程并安装了QT补丁,其中一个教程在这里(https://code.google.com/p/wkhtmltopdf/wiki/compilation)。我们不确定我们是否跳过了某些内容或做错了什么,它已安装并且少数功能已开始工作,但不是全部。我们能够生成页眉和页脚,但封面和目录仍然无法正常工作。我们真正需要的。

linux ubuntu wkhtmltopdf administration
4个回答
36
投票

如果有人遇到类似的问题,我按照这篇文章解决了这个问题。

所有功能现在都可以完美运行。


文章内容:

wkhtmltopdf shell 实用程序用于使用 WebKit 从 HTML 生成 PDF 文档。我尝试过一些使用 wkhtmltopdf 的 ruby gem 包装器,但我发现我最喜欢使用 wicked_pdf gem。无论您使用什么包装器来调用 wkhtmltopdf,以下都是在 Ubuntu 上安装 wkhtmltopdf 的步骤(对于非基于 Debian 的发行版,需要进行细微调整)。

  1. 删除之前使用 apt-get 安装的 wkhtmltopdf(如果之前安装过)。

     sudo apt-get remove --purge wkhtmltopdf
    
  2. 安装依赖项。

     sudo apt-get install openssl build-essential xorg libssl-dev
    
  3. 根据架构(i386/amd64)下载静态二进制文件。解压它,更改所有者,然后将其复制到 /usr/local/bin。

     wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2
     tar xvjf wkhtmltopdf-0.9.9-static-i386.tar.bz2
     sudo chown root:root wkhtmltopdf-i386
     sudo cp wkhtmltopdf-i386 /usr/local/bin/wkhtmltopdf
    

适用于 amd64 位

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xvJf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
sudo cp wkhtmltox/bin/wkhtmlto* /usr/bin/

10
投票

对于那些现在尝试此操作的人,download.gna.org 网址不再有效,但之前的答案仍然有效:我只需使用新位置进行安装,如下所示:

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xvJf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
sudo cp wkhtmltox/bin/wkhtmlto* /usr/bin/

刚刚在 Ubuntu 16.04.2 机器上执行此操作。感谢您的原始回答,Rasikh!


8
投票

我无法评论,这里是 Ubuntu 64 位正确答案的新第 3 点。感谢您的帮助@Rasikh Mashhadi

wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xvJf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
sudo cp wkhtmltox/bin/wkhtmlto* /usr/bin/

0
投票

感谢@Rasikh Mashhadi 的解决方案和@Jai Kumar Rajput 的编辑。

我目前正在尝试将使用“wkhtmltopdf”库的 dotnet 核心应用程序从 Windows 服务器移动到 Linux 服务器。

请耐心等待,因为我对 Linux 的了解只是基础知识。

我可以控制服务器,因此我可以运行命令和脚本。

我的第一次尝试是使用包管理器在 Linux 服务器上安装库,并使我的 PDF 打印功能指向 Linux 的可执行文件。

通过使用上述方法,我无法使用命令选项。缩放、页眉和页脚等功能不起作用。

我遵循了此线程的建议,它似乎有效,但 Windows 和 Linux 之间 PDF 的渲染有所不同。

Windows 可执行文件的版本是最新的 0.12.6,而本线程中的版本是

wkhtmltopdf 0.12.4 (with patched qt)

我想知道这是否是打印结果不同的根本原因。

我还找到了这个帖子:https://github.com/wkhtmltopdf/wkhtmltopdf/issues/4287,但不幸的是,我无法让它工作。

有人有什么建议吗?

© www.soinside.com 2019 - 2024. All rights reserved.