首页 > 系统相关 >一款在Linux 中将网页转成 PDF 的智能工具

一款在Linux 中将网页转成 PDF 的智能工具

时间:2023-07-10 09:12:43浏览次数:53  
标签:linux 0.12 wkhtmltopdf 智能工具 Linux PDF pdf

wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档或图像(jpg、png 等)。

wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。

一款在Linux 中将网页转成 PDF 的智能工具一款在Linux 中将网页转成 PDF 的智能工具

wkhtmltopdf 的功能
  1. 开源并且跨平台。
  2. 使用 WebKit 引擎将任意 HTML 网页转换为 PDF 文件。
  3. 添加页眉和页脚的选项
  4. 目录生成 (TOC) 选项。
  5. 提供批量模式转换。
  6. 通过绑定 libwkhtmltox 来支持 PHP 或 Python。

在本文中,我们将介绍如何在 Linux 系统下使用 tar 包来安装 wkhtmltopdf。

安装 Evince (PDF 浏览器)

让我们在 Linux 系统中安装 evince (一个 PDF 阅读器)来浏览 PDF 文件。

$ sudo yum install evince             [RHEL/CentOS and Fedora]
$ sudo dnf install evince             [On Fedora 22+ versions]
$ sudo apt-get install evince         [On Debian/Ubuntu systems]
下载 wkhtmltopdf 源码文件

使用wget 命令根据你的 Linux 架构来下载 wkhtmltopdf 源码文件,或者你也可以在wkhtmltopdf 下载页下载最新的版本(目前最新的稳定版是 0.12.4)

在 64 位 Linux 系统中:

$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

在 32 位 Linux 系统中:

$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz
在 Linux 中安装 wkhtmltopdf

使用tar 命令解压文件到当前目录中。

------ On 64-bit Linux OS ------
$ sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
------ On 32-bit Linux OS ------
$ sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz 

为了能从任意路径执行程序,将 wkhtmltopdf 安装到/usr/bin目录下。

$ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
如何使用 wkhtmltopdf?

我们会看到如何将远程的 HTML 页面转换成 PDF 文件、验证信息、使用 evince 在 GNOME 桌面中浏览创建的文件。

将 HTML 网页转成 PDF 文件

要将任意 HTML 页面转换成 PDF,运行下面的命令。它会在当前目录下将页面转换成10-Sudo-Configurations.pdf。

# wkhtmltopdf http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf

示例输出:

Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
浏览生成的 PDF 文件

为了验证创建的文件,使用下面的命令。

$ file 10-Sudo-Configurations.pdf

示例输出:

10-Sudo-Configurations.pdf: PDF document, version 1.4
浏览生成的 PDF 文件细节

要浏览生成的文件信息,运行下面的命令。

$ pdfinfo 10-Sudo-Configurations.pdf

示例输出:

Title:          10 Useful Sudoers Configurations for Setting 'sudo' in Linux
Creator:        wkhtmltopdf 0.12.4
Producer:       Qt 4.8.7
CreationDate:   Sat Jan 28 13:02:58 2017
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          13
Encrypted:      no
Page size:      595 x 842 pts (A4)
Page rot:       0
File size:      697827 bytes
Optimized:      no
PDF version:    1.4
浏览创建的文件

在桌面中使用 evince 查看最新生成的 PDF 文件。

$ evince 10-Sudo-Configurations.pdf

示例截图:
在我的 Linux Mint 17 中看起来很棒。
一款在Linux 中将网页转成 PDF 的智能工具一款在Linux 中将网页转成 PDF 的智能工具

给 PDF 创建页面的目录

要创建一个 PDF 文件的目录,使用 toc 选项。

$ wkhtmltopdf toc http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf

示例输出:

Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

要查看已创建文件的 TOC,再次使用 evince。

$ evince 10-Sudo-Configurations.pdf

示例截图:

看一下下面的图。它上看去比上面的更好。

一款在Linux 中将网页转成 PDF 的智能工具一款在Linux 中将网页转成 PDF 的智能工具

wkhtmltopdf 选项及使用

更多关于 wkhtmltopdf 的使用及选项,使用下面的帮助命令。它会显示出所有可用的选项。

$ wkhtmltopdf --help

via: http://www.tecmint.com/wkhtmltopdf-convert-website-html-page-to-pdf-linux/

作者:Ravi Saive 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

原文来自:https://linux.cn/article-8362-1.html

本文地址:https://www.linuxprobe.com/wkhtmltopdf-linux-pdf.html编辑员:郭建鹏,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/wkhtmltopdf-linux-pdf.html

标签:linux,0.12,wkhtmltopdf,智能工具,Linux,PDF,pdf
From: https://www.cnblogs.com/linuxpro/p/17539893.html

相关文章

  • Linux,shell入门,第二篇
    #!/bin/bash#显示出本机的ip地址方法一#ipa|grepdynamic|tr-s''\/|cut-d'/'-f3#显示出本机的ip地址方法二ipa|sed-rn's/(.*inet)([0-9].*)(\/[0-9].*)(brd.*)/\2/p'#显示出本机ip地址方法三#hostname-I#把ip地址赋值给变量ipaddr,上述三种方法均可ipaddr=......
  • linux shell template
    Replaceenvironmentvariablesinafilewiththeiractualvalues?#config.xml<property><name>instanceId</name><value>$INSTANCE_ID</value></property><property><name>rootPath</name>......
  • linux常用命令
    1.linux常用命令1.1简介Linux_百度百科(baidu.com)1.2虚拟机相关安装:虚拟机安装linux,这里不做介绍登录:如果是root,提示符为#,普通用户则为$退出:logout重启:reboot关机:halt1.3linux文件系统了解即可linux下一切皆是文件目录结构1.3.1 目录说明 /:为跟目录/bin:b......
  • Linux相关概念及操作
    目录linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。1./bin是Binary的缩写,这个目录存放着最经常使用的命令2./opt这是给主机额外安装软件所存放的目录。如安装ORACLE数据库就可放到该目录下。默认为空3./boot......
  • Linux 切换用户及环境变量的问题
    背景前几天用Linux的时候遇到一个问题,使用su切换用户时,用户已经切换了,但是环境变量却还是原来用户的,导致命令执行不了。现象首先,用普通用户登录Linux,运行echo$PATH:square@debian:~$whoamisquaresquare@debian:~$echo$PATH/home/square/.local/bin:/usr/local/bin:/usr/......
  • linux LVS+Keepalived
    keepalived服务主要用来做高可用,高可用在企业中是非常重要的技术,避免数据丢失和服务停止。目录一、keepalived概述二、keepalived实验原理三、keepalived模块四、实验演示五、总结        一、keepalived概述  1.keepalived服务重要功能......
  • Linux 使用 dup2 无法正常重定向管道 tinyhttpd
    项目地址:https://github.com/pphboy/pihttpd文件p_sys.ctinyhttpd是这样写的但是文档是,旧的在前,新在后intdup2(intoldfd,intnewfd);所以是,才能正常输出和输入dup2(1,in_pipe[1]);dup2(0,out_pipe[0]);......
  • 扫描linux系统磁盘占用,释放空间的免费工具
    如何查找linux系统的磁盘占用,扫描大文件,释放空间,可以使用免费工具ncdu。虽然有du和df命令可以查询磁盘和文件夹的大小,但毕竟不方便,不能扫描整个磁盘的情况。用ncdu命令更直观,可以按目录以树形显示每个文件夹的大小,找到占空间的文件或者文件夹,删除释放磁盘空间。并且扫描速度飞快......
  • Linux命令行/终端连接(隐藏)SSID的WiFi
    推荐看完Linux命令行/终端连接隐藏SSID的WiFi(续篇)和本文后,再按照实际情况采用network-manager或者ifupdown多数Linux系统默认自带有线网络的驱动和配置软件,但是对于WiFi则可能会缺少固件和相关软件。在此使用Debian11为例(Ubuntu也可),使用nmcli连接隐藏SSID的WiFi网络。无线网卡......
  • 解决虚拟机VM中kali linux 无法联网的问题
    今天登录KaliLinux发现浏览器无法连接网络,自己并没有改过任何配置,通过自己多方面搜寻解决教程,现将解决方法做此纪录。1.首先关闭kalilinux,点击设置,保证自己的kali网络适配器是桥接模式,且勾选复制物理网络连接状态,点击确定进行保存。  2.打开kalilinux,然后使用ctrl+alt+......