Centos 7 安装 Wkhtmltopdf及java项目调用

一、服务端服务安装

1.下载安装包

下载命令:wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

下载地址:https://github.com/wkhtmltopdf/wkhtmltopdf/releases/0.12.4 或者到https://wkhtmltopdf.org/downloads.html下载

我这里下载的是.tar.xz格式的,有兴趣的可以尝试一下rpm格式的。

Centos 7 安装 Wkhtmltopdf及java项目调用_第1张图片

2、解压

tar xvfJ wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
cd wkhtmltox/bin
mv ./wkhtmltopdf /usr/bin/wkhtmltopdf
chmod +x /usr/bin/wkhtmltopdf

3、报错处理

(1)yum install urw-fonts libXext openssl-devel
(2)如果出现错误libXrender找不到错误:安装libXrender
     使用yum install libXrender* 或者 apt-get install libXrender*
(3)如果出现错误libXext找不到错误:安装libXext
     使用yum install libXext* 或者 apt-get install libXext*
(4)安装字体文件 yum install libfontconfig*

4、字体上传

如果中文不显示,则将 windows下的字体,例如simsun.ttc ,或者msyh.ttf,或者msyhbd.ttf 复制到 linux系统 /usr/share/fonts 下。
在这里插入图片描述

5、运行

1.执行命令

wkhtmltopdf http://www.baidu.com  /opt/pdf/test.pdf

Centos 7 安装 Wkhtmltopdf及java项目调用_第2张图片
2.查看导出文件
在这里插入图片描述

生成效果
Centos 7 安装 Wkhtmltopdf及java项目调用_第3张图片

二、Wkhtmltopdf命令使用

命令格式:

wkhtmltopdf xx配置 http://www.baidu.com /home/test.pdf

wkhtmltopdf [OPTIONS]...  [More input files] 

常规选项


   --allow   允许加载从指定的文件夹中的文件或文件(可重复)
   --book*  设置一会打印一本书的时候,通常设置的选项 
   --collate  打印多份副本时整理 
   --cookie    设置一个额外的cookie(可重复) 
   --cookie-jar   读取和写入的Cookie,并在提供的cookie jar文件 
   --copies   复印打印成pdf文件数(默认为1) 
   --cover*   使用HTML文件作为封面。它会带页眉和页脚的TOC之前插入 
   --custom-header    设置一个附加的HTTP头(可重复) 
   --debug-javascript  显示的javascript调试输出 
   --default-header*  添加一个缺省的头部,与页面的左边的名称,页面数到右边,例如: --header-left '[webpage]' --header-right    '[page]/[toPage]'  
   --header-line 
   --disable-external-links*  禁止生成链接到远程网页
   --disable-internal-links*  禁止使用本地链接
   --disable-javascript  禁止让网页执行JavaScript 
   --disable-pdf-compression*  禁止在PDF对象使用无损压缩 
   --disable-smart-shrinking*  禁止使用WebKit的智能战略收缩,使像素/ DPI比没有不变 
   --disallow-local-file-access  禁止允许转换的本地文件读取其他本地文件,除非explecitily允许用 --allow 
   --dpi   显式更改DPI(这对基于X11的系统没有任何影响) 
   --enable-plugins  启用已安装的插件(如Flash
   --encoding   设置默认的文字编码 
   --extended-help  显示更广泛的帮助,详细介绍了不常见的命令开关 
   --forms*  打开HTML表单字段转换为PDF表单域 
   --grayscale  PDF格式将在灰阶产生
   --help  Display help 
   --htmldoc  输出程序HTML帮助
   --ignore-load-errors  忽略claimes加载过程中已经遇到了一个错误页面 
   --lowquality  产生低品质的PDF/ PS。有用缩小结果文档的空间 
   --manpage  输出程序手册页 
   --margin-bottom   设置页面下边距 (default 10mm) 
   --margin-left   将左边页边距 (default 10mm) 
   --margin-right   设置页面右边距 (default 10mm) 
   --margin-top   设置页面上边距 (default 10mm) 
   --minimum-font-size   最小字体大小 (default 5) 
   --no-background  不打印背景
   --orientation   设置方向为横向或纵向 
   --page-height   页面高度 (default unit millimeter) 
   --page-offset*   设置起始页码 (default 1) 
   --page-size   设置纸张大小: A4, Letter, etc. 
   --page-width   页面宽度 (default unit millimeter) 
   --password   HTTP验证密码 
   --post    Add an additional post field (repeatable) 
   --post-file    Post an aditional file (repeatable) 
   --print-media-type*  使用的打印介质类型,而不是屏幕 
   --proxy   使用代理 
   --quiet  Be less verbose 
   --read-args-from-stdin  读取标准输入的命令行参数 
   --readme  输出程序自述
   --redirect-delay   等待几毫秒为JS-重定向(default 200) 
   --replace*    替换名称,值的页眉和页脚(可重复) 
   --stop-slow-scripts  停止运行缓慢的JavaScripts 
   --title   生成的PDF文件的标题(第一个文档的标题使用,如果没有指定) 
   --toc*  插入的内容的表中的文件的开头
   --use-xserver*  使用X服务器(一些插件和其他的东西没有X11可能无法正常工作) 
   --user-style-sheet   指定用户的样式表,加载在每一页中
   --username   HTTP认证的用户名 
   --version  输出版本信息退出
   --zoom   使用这个缩放因子 (default 1) 

页眉和页脚选项

--header-center*        (设置在中心位置的页眉内容)  
--header-font-name*     (default Arial)  (设置页眉的字体名称)
--header-font-size*     (设置页眉的字体大小)
--header-html*   (添加一个HTML页眉,后面是网址)
--header-left*     (左对齐的页眉文本)
--header-line*      (显示一条线在页眉下)
--header-right*     (右对齐页眉文本)
--header-spacing*       (设置页眉和内容的距离,默认0)
--footer-center*        (设置在中心位置的页脚内容)  
--footer-font-name*     (设置页脚的字体名称) 
--footer-font-size*     (设置页脚的字体大小default 11)
--footer-html*   (添加一个HTML页脚,后面是网址)
--footer-left*      (左对齐的页脚文本)
--footer-line*      显示一条线在页脚内容上)
--footer-right*     (右对齐页脚文本)
--footer-spacing*       (设置页脚和内容的距离)
./wkhtmltopdf --footer-right '[page]/[topage]' http://www.baidu.com baidu.pdf
./wkhtmltopdf --header-center '报表' --header-line --margin-top 2cm --header-line http://192.168.212.139/oma/  oma.pdf

表内容选项中

 --toc-depth*   Set the depth of the toc (default 3) 
 --toc-disable-back-links*  Do not link from section header to toc 
 --toc-disable-links*  Do not link from toc to sections 
 --toc-font-name*   Set the font used for the toc (default Arial) 
 --toc-header-font-name*   The font of the toc header (if unset use --toc-font-name) 
 --toc-header-font-size*   The font size of the toc header (default 15) 
 --toc-header-text*   The header text of the toc (default Table Of Contents) 
 --toc-l1-font-size*   Set the font size on level 1 of the toc (default 12) 
 --toc-l1-indentation*   Set indentation on level 1 of the toc (default 0) 
 --toc-l2-font-size*   Set the font size on level 2 of the toc (default 10) 
 --toc-l2-indentation*   Set indentation on level 2 of the toc (default 20) 
 --toc-l3-font-size*   Set the font size on level 3 of the toc (default 8) 
 --toc-l3-indentation*   Set indentation on level 3 of the toc (default 40) 
 --toc-l4-font-size*   Set the font size on level 4 of the toc (default 6) 
 --toc-l4-indentation*   Set indentation on level 4 of the toc (default 60) 
 --toc-l5-font-size*   Set the font size on level 5 of the toc (default 4) 
 --toc-l5-indentation*   Set indentation on level 5 of the toc (default 80) 
 --toc-l6-font-size*   Set the font size on level 6 of the toc (default 2) 
 --toc-l6-indentation*   Set indentation on level 6 of the toc (default 100) 
 --toc-l7-font-size*   Set the font size on level 7 of the toc (default 0) 
 --toc-l7-indentation*   Set indentation on level 7 of the toc (default 120) 
 --toc-no-dots*  Do not use dots, in the toc

轮廓选项

 --dump-outline   转储目录到一个文件
 --outline  显示目录(文章中h1,h2来定)
 --outline-depth   设置目录的深度(默认为4)

页脚和页眉

[page]       由当前正在打印的页的数目代替
[frompage]   由要打印的第一页的数量取代
[topage]     由最后一页要打印的数量取代
[webpage]    通过正在打印的页面的URL替换
[section]    由当前节的名称替换
[subsection] 由当前小节的名称替换
[date]       由当前日期系统的本地格式取代
[time]       由当前时间,系统的本地格式取代

使用案例:

 wkhtmltopdf --footer-right &

你可能感兴趣的:(html转pdf,java)