图片
功能说明
实现图片的打印输出,可以设置图片来源、大小等属性,并支持图片缩放拉伸、旋转、灰度等特性,详细参照属性列表。
属性列表
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
name | String | “” | 打印项的名称,在打印任务内应该唯一。 |
label | String | “” | 打印项的标题,打印设计或维护时, 可以更好的了解打印项代表的含义。 |
x | String | 0 | 左边缘相对于打印区域的位置,默认单位毫米(mm), 可用单位: 毫米 - mm,如:“10mm” 厘米 - cm,如:“1cm” 点 - pt,如:“16pt” 英寸 - in,如:“1in” 派卡 - pc,如:“2pc” 像素 - px,如:“10px” 单位换算关系: 1in = 2.54cm = 25.4 mm = 72pt = 6pc=96px, 同时支持百分比,如:“20%”,表示占父容器可 用宽度的20%的位置。 |
y | String | 0 | 上边缘相对打印区域的位置,默认单位毫米(mm), 支持单位及单位换算参见"x"属性,同时支持百分比, 如:“20%”,表示占父容器可用高度的20%的位置 |
width | String | null | 宽度,默认单位毫米(mm), 支持单位及单位换算参见"x"属性,同时支持百分比, 如:“20%”,表示占父容器可用宽度的20%。 |
height | String | null | 高度,默认单位毫米(mm), 支持单位及单位换算参见"x"属性,同时支持百分比, 如:“20%”,表示占父容器可用高度的20%。 |
zindex | Integer | 0 | 打印项所在图层,图层数值大的打印项会遮挡 图层数值小的打印项。 |
url | String | null | 图片地址,支持常见URL并支持base64图片数据。 |
hPpi | Float | 72 | 水平分辨率,图片水平方向的ppi |
hPpi | Float | 72 | 垂直分辨率,图片垂直方向的ppi |
scale | Float | 1.0 | 图片缩放比例,注意:未设置自动缩放时起效。 |
autoScale | Boolean | true | 图片自动缩放,当为true时会自动根据图片打印项尺寸等,自动对图片进行缩放。 |
keepRatio | Boolean | false | 等比缩放,自动缩放时是否保持图片宽高比例 |
gray | String | null | 灰度处理,默认null,不进行灰度处理,有效值如下: AVG - 按平均值算法 SMALL - 按最小值算法 BIG - 按最大值算法 |
roate | Float | 0 | 图片旋转角度 |
hAlign | String | “left” | 水平对齐,有效值如下: 居左 - left 居中 - center 居右 - right |
vAlign | String | “middle” | 垂直对齐,有效值如下: 置顶 - top 中间 - middle 或 center 置底 - bottom |
backgroundColor | String | null | 文本描边颜色,支持CSS中颜色定义规范, 参见color属性。 |
backgroundImage | String | null | 背景图片地址,支持base64和其他标准url |
border | String | null | 边框,类似css中的border属性,如: "1mm 2mm 3mm 4mm"表示 上边宽1mm,右边宽2mm,底边宽3mm, 左边宽4mm |
borderDash | String | null | 边框线型,默认null表示实线,可以分别指定每个边 的线型,如: “dash dot-dash dash dot-dash” 表示上边为虚线,右边为点划线,底边为虚线, 左边为点划线。也可指定所有边为统一的线型,如: "dash"所有边为虚线。 线型有效值如下: solid - 实线 dotted - 点线 dashed - 虚线 dot-dash - 点划线 double-dot-dash - 双点划线 自定义 -线型由 “线+缺口+线+缺口+线+缺口……” 组成,如:“6pt 3pt”。 |
borderColor | String | null | 边框颜色,支持CSS中颜色定义规范,如: “#fff”, “#f2f2f2”, “rgb(255,255,0)”, “rgba(255,255,0,125)” |
margin | String | null | 外边距,类似CSS中margin,如: "1pt 2pt 3pt 4pt"表示上右下左的外边距 分别为1pt、2pt、3pt、4pt; |
padding | String | null | 内边距,类似CSS中padding,如: "1pt 2pt 3pt 4pt"表示上右下左的内边距 分别为1pt、2pt、3pt、4pt; |
hRelativeTo | String | null | 水平位置相对于,可选值为: 相对于前面的打印项 - pre 线对于指定打印项 - #+打印项名称,如:“#text1” |
vRelativeTo | String | null | 垂直位置相对于,可选值为: 相对于前面的打印项 - pre 线对于指定打印项 - #+打印项名称,如:“#text1” |
fixed | Boolean | false | 是否在每页重复出现,当设置为true时,该打印项会出现在每页的相应位置,可以实现诸如水印等特殊业务场景。 |
示例代码
//create print job
var job = Kaop.createPrintJob("Image Demo Print Job");
//pages
//the page 0
job.addImage("image_1","90.224","64.822","85.519","72.554","file:///D:/pic.jpg");
job.setItemAttr("image_1","gray","AVG");
job.setItemAttr("image_1","border","1");
job.setItemAttr("image_1","label","图片1");
job.addImage("image_2","25.666","16.933","85.519","72.554","file:///D:/pic.jpg");
job.setItemAttr("image_2","border","1");
job.setItemAttr("image_2","label","图片2");
//actions
job.preview();