Skip to content

Latest commit

 

History

History
241 lines (184 loc) · 6.34 KB

html2pdf.md

File metadata and controls

241 lines (184 loc) · 6.34 KB

#简介 该命令用来将空间中的html文档转换为pdf文档。

#命令 该命令的名称为html2pdf,对应的ufop实例名称为ufop_prefix+html2pdf

html2pdf
/gray/<int>
/low/<int>
/orient/<string>
/size/<string>
/title/<string>
/collate/<int>
/copies/<int>

PS: 该命令的所有参数都是可选参数,另外参数没有固定顺序。

#参数

参数名 描述 可选
gray 目标PDF文件是否使用黑白颜色,可选值10,如果选择黑白,那么生成的PDF文件里面内容都是黑白的 可选
low 目标PDF文件是否选择使用低质量,可选值10,如果选择低质量,那么生成的PDF文件大小会比较小 可选
orient 目标PDF文件的方向,可选值为LandscapePortrait,默认为Portrait 可选
size 目标PDF文件的纸张大小,可选值为A1-A8B1-B8,默认为A4 可选
title 目标PDF文件属性中的标题,如果指定的话,必须是对字符串进行Urlsafe Base64编码后的值 可选
collate 目标PDF文件的多副本打印方式,可选值10,默认为1,即采用collate模式 可选
copies 目标PDF文件的副本数量,默认值为1 可选

关于collate参数的含义:

这个参数在copies > 1的情况下,表现出不同文件打印方式。 举个例子,当你有一个PDF文档,该文件有3页,现在需要输出两份。 当collate/1的情况下,输出顺序为1,2,3,1,2,3; 当collate/0的情况下,输出顺序为1,1,2,2,3,3; 默认不指定collate的情况下,collate为1。

#配置

出于安全性的考虑,你可以根据实际需求设置如下参数来控制html2pdf功能的安全性:

Key Value 描述
html2pdf_max_page_size 默认为10MB,单位:字节 允许进行文档转换的单个页面的大小
html2pdf_max_copies 默认为1 允许输出的PDF文档的最大副本数量

#创建

如果是初次使用这个ufop的实例,我们需要遵循如下的步骤:

创建实例 -> 编译上传镜像 -> 切换镜像版本 -> 生成实例并启动

1.使用qufopctlreg指令创建html2pdf实例,假设前缀为qntest-,创建一个私有的ufop实例。

$ qufopctl reg qntest-html2pdf -mode=2 -desc='html2pdf ufop'
Ufop name:	 qntest-html2pdf
Access mode:	 PRIVATE
Description:	 html2pdf ufop

2.准备ufop的镜像文件。

$ tree html2pdf

html2pdf
├── fonts
│   ├── simfang.ttf
│   ├── simhei.ttf
│   ├── simkai.ttf
│   ├── simpbdo.ttf
│   ├── simpfxo.ttf
│   ├── simpo.ttf
│   ├── simsun.ttc
│   └── simsunb.ttf
├── html2pdf.conf
├── qufop.conf
├── pkg
│   └── wkhtmltox-0.12.2_linux-trusty-amd64.deb
├── qufop
└── ufop.yaml

其中fonts目录下面为支持中文的字体,pkg下面为xkhtmltopdf的二进制可执行文件。

3.使用qufopctlbuild指令构建并上传html2pdf实例的项目文件。

$ qufopctl build qntest-html2pdf -dir html2pdf
checking files ...
getting upload token ...
making .tar file ...
uploading .tar file ...
upload .tar succeed, please check 'imageinfo' and 'ufopver'.

4.使用qufopctlimageinfo来查看已上传的镜像。

$ qufopctl imageinfo qntest-html2pdf
version: 1
state: building
createAt: 2015-09-08 15:33:15.132727309 +0800 CST

5.使用qufopctlinfo来查看当前ufop所使用的镜像版本。

$ qufopctl info qntest-html2pdf
Ufop name:	 qntest-html2pdf
Owner:		 1380340116
Version:	 0
Access mode:	 PRIVATE
Description:	 html2pdf ufop
Create time:	 2015-09-08 15:29:18 +0800 CST
Instance num:	 0
Max instanceNum: 5
Flavor:	 default
Access list:	 1380340116

如果我们看到的版本号Version0的话,说明当前没有运行任何版本的镜像。

6.等待第4步中的镜像的状态变成build success的时候,就可以使用qufopctlufopver指令来切换当前ufop所使用的镜像版本。

 $ qufopctl ufopver qntest-html2pdf -c 1

7.再次使用qufopctlinfo指令查看当前ufop所使用的镜像版本。

$ qufopctl info qntest-html2pdf
Ufop name:	 qntest-html2pdf
Owner:		 1380340116
Version:	 1
Access mode:	 PRIVATE
Description:	 html2pdf ufop
Create time:	 2015-09-08 15:29:18 +0800 CST
Instance num:	 0
Max instanceNum: 5
Flavor:	 default
Access list:	 1380340116

8.使用qufopctlresize指令来启动ufop的实例。

$ qufopctl resize qntest-html2pdf -num 1
Resize instance num from 0 to 1.

	instance 1	[state] Running

9.然后就可以使用七牛标准的fop使用方式来使用这个qntest-html2pdf名称的ufop了。

#更新

如果是需要对一个已有的ufop实例更新镜像的版本,我们需要遵循如下的步骤:

编译上传镜像 -> 切换镜像版本 -> 更新实例

1.使用qufopctlbuild指令构建并上传html2pdf实例的项目文件。

$ qufopctl build qntest-html2pdf -dir html2pdf
checking files ...
getting upload token ...
making .tar file ...
uploading .tar file ...
upload .tar succeed, please check 'imageinfo' and 'ufopver'.

2.使用qufopctlimageinfo来查看已上传的镜像。

$ qufopctl imageinfo qntest-html2pdf
version: 1
state: build success
createAt: 2015-09-08 15:33:15.132727309 +0800 CST

version: 2
state: building
createAt: 2015-09-08 15:47:11.179527356 +0800 CST

3.等待第2步中的新的镜像的状态变成build success的时候,就可以使用qufopctlufopver指令来切换当前ufop所使用的镜像版本。

 $ qufopctl ufopver qntest-html2pdf -c 2

4.更新线上实例的镜像版本。

$ qufopctl upgrade qntest-html2pdf

5.使用qufopctlinfo指令查看当前ufop所使用的镜像版本。

$ qufopctl info qntest-html2pdf
Ufop name:	 qntest-html2pdf
Owner:		 1380340116
Version:	 1
Access mode:	 PRIVATE
Description:	 html2pdf ufop
Create time:	 2015-09-08 15:29:18 +0800 CST
Instance num:	 1
Max instanceNum: 5
Flavor:	 default
Access list:	 1380340116

#示例

qntest-html2pdf
qntest-html2pdf/orient/size/A4/low/1

持久化的使用方式

qntest-html2pdf/orient/size/A4/low/1|saveas/aWYtcGJsOnRlc3QucGRm

其中aWYtcGJsOnRlc3QucGRm为目标存储空间和目标图片PDF文件的Urlsafe Base64编码