vue 打印(模板套打)

news/2024/11/19 13:22:39/

vue 使用  print-template 生成pdf 打印 。支持生成二维码、条形码、文本、图片、线 

安装

yarn add print-template或npm install print-template

内容类型

line线条
barcode条形码
qrcode二维码
image图片
text文本

内容属性

通用

x必须 所有类型 
y必须 所有类型 
default固定内容默认值

线条 【line】

length线条长度number
orientation线条方向   p 竖线 / l 横线string 

文本 【text】

fontSize字体大小   number
fontWeight字体宽度number

fontFamily

字体类型  默认 微软雅黑string

maxWidth

最大宽度 换行使用(目前英文和数字计算有问题) number

 图片 【image】

width图片宽度number

height

图片高度number

条形码 【brcode】

format

条形码格式  CODE128A/B/C .......string
width生成线条的宽度 内容越多 宽度约大 生成的条形码约长number
height 高度   条形码加字体高度number
margin条形码白边边距number

displayValue

是否显示文字boolean

fontSize

字体大小number

fontOptions

字体样式  粗体  bold / 斜体 italic /  粗斜体 bold  italicstring

 二维码【brcode】

 

width二维码宽度number

使用

 

import printTemplate from 'print-template'// 创建打印模板 
let  template  = new printTemplate()// 模板数据
let yto= {name:'yto'       // 模板名称unit:'mm',       // 尺寸 默认mm    mm / pxsize: [76, 130], // 模板大小  宽 76mm / 高130mmfixed:[          // 固定内容 比如:线条 、logo 广告、固定字体 // 个人觉得 制作一个透明的底图 不需要一条线一条线设置{ type: 'line', x: 2, y: 12, length: 72 },{ type: 'line', x: 2, y: 12, orientation: 'p', length: 116 },{ type: 'line', x: 74, y: 12, orientation: 'p', length: 116 },{ type: 'line', x: 2, y: 27, length: 72 },{ type: 'line', x: 2, y: 35, length: 72 },{ type: 'line', x: 2, y: 41, length: 52 },{ type: 'line', x: 54, y: 35, orientation: 'p', length: 32 },{ type: 'line', x: 54, y: 49, length: 20 },{ type: 'line', x: 2, y: 59, length: 72 },{ type: 'line', x: 2, y: 67, length: 72 },{ type: 'line', x: 2, y: 77, length: 72 },{ type: 'line', x: 2, y: 110, length: 72 },{ type: 'line', x: 2, y: 128, length: 72 },  { type: 'text', fontSize: 3.8, fontWeight: 700, x: 66, y: 2, default: '货到\n付款' },   // 固定文字   \n 换行  也可以设置 maxWidth:3.8*2  自动换行             ],data:{                    // 动态数据name: { type: 'text', x: 8, y: 45, fontSize: 3.5 },code: { type: 'barcode', x: 7, y: 13, format: 'CODE128A', width: 4, margin: 0, fontSize: 3.3, fontOptions: 'bold', displayValue: true, height: 13 },}}// 添加模板 
template.push(yto)// 传入数据 
let data = [{name:'张三1',code:'YT100011111'},{name:'张三2',code:'YT100011112'}]// 打印 
template.print('yto', data).then(pdf=>{// 返回 jspdf// blob 地址let uri = pdf.output('bloburi', { filename: '打印文件' });// 下载保存pdf.save( '打印文件' );})

 

生成的文件截图

 

问题

最近有人私信问我一些问题,在这里回复一下

1、底图

 模板中 logo 图标 ,提示文字,边框线或二维码等在固定内容可以合成一张透明图片 在 fixed 中只需设置一次图片类型内容即可

 

注意:width  和 height 必须是数字类型

{size: [76, 130],  //模板大小fixed: [{ type: 'image',  // 内容类型 图片width: 76,      // 图片宽度一般和模板宽度相同    数字类型    height: 130,    // 图片高度一般和模板高度度相同  数字类型          default:'/files/bg.png' // 图片地址  不支持跨域},]}

 

 

 


http://www.ppmy.cn/news/497407.html

相关文章

网店工商信息图片文字提取

首先非常抱歉,最近一段时间由于学校课程作业较多,外加个人较懒,所以一直没有更新文章,以后一定会勤奋点,多加更新。正如前几天在stormzhang**(张哥)**的公众号里看到的一样,写作其实并不难,每个…

美团算法团队:深度学习在美团OCR中的应用!

http://blog.itpub.net/31077337/viewspace-2157198/ AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技术应用于搜索、推荐…

版权中心对软著手册及代码的要求

软著申请材料: 1、软件著作权申请表。 2、软件源代码:提供前、后各连续30页共60页,不低于3000行的源代码。 3、软件操作手册:图文形式不低于15页,操作界面截图。 4、身份证明资料:企业:单位营业…

统一社会信用代码的编码格式以及js正则校验

统一社会信用代码 统一社会信用代码正则:/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/ // 返回值为true或false function isSocialCode(socialCode) {const reg /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;return reg.test(socialCode…

60天申请软件著作权

材料准备: 代码手册;用户手册;身份证复印件(可以加上水印,仅供软著申请专用);申请表注意均是黑白打印。 照片截图一定要清晰,一开始我的微信小程序背景图片是彩色的,打印…

从“中国之光”到倒闭破产,北大方正做错了什么?

酷玩实验室作品 首发于微信号 酷玩实验室 微信ID:coollabs 在中关村,有三次经典的合作,促成了三个影响中国的企业。 万润南找到了王辑志,促成了四通;柳传志找到了倪光南,促成了联想;张玉峰找到了…

Flutter写第一个跨平台薅羊毛APP(七)--申报软件著作权

上架很多应用市场都需要提供软件著作权,这也是为了保护我们自己的版权权益,开发了十来个app,都没有自己的软件著作权(有些公司申报的),想着这次怎么也要自己弄一个,当然找人代办申请花几百块也很…

OCR身份证识别简单算法流程

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 做OCR身份证识别的调研,正好整理一下从基础的图像处理角度的算法流程。 OCR简介 光学字符识别 Optical Character Recognition(OCR)其…