前端生成pdf的js库-pdfmake.js的简单使用
公司之前是通过 Jaspersoft Studio软件,生成一个.jasper文件模板,通过模板中的sql语句,查询信息,生成pdf传给前端显示或者下载。
但是觉得会占用带宽,浪费服务器资源,并且这件事前端js也可以实现,在网上找到了国外某神人开发的pdfmake.js这个库,觉得很棒,英文比较棒的同学可以前往官网自学:
pdfmake.js官网:http://pdfmake.org/
这里只是做了个日常使用的例子:
<!DOCTYPE html>
<html>
<head>
<title></title>
<%--前端生成pdf的插件--%>
<script type="text/javascript" src="${localCtx}/resources/jquery/pdfmake.js"></script>
<%--配合pdfmake.js的字体库(只含有仿宋和黑体),如何更改vfs_fonts.js,参照官网--%>
<script type="text/javascript" src="${localCtx}/resources/jquery/vfs_fonts.js"></script>
</head><script type="text/javascript">
//打印的动态信息
var pdf_data = {xfjName: '李二麻不服火车站扣脚被罚200元',time:'2017年12月25日15时30分',address:'英国伦敦唐宁街10号',dcr:'斯密斯',dcr_dw:'山东路123号6单元2门洞602室',jlr:'汤姆',jlr_dw:'中南海1号',bdcr:'唐纳德·川普',content:'问:说的是大家按时打卡打卡.\n答:时代精神的房东房客第三方接口货到付款'
}
var dd = {pageSize:'A4',//纸张大小pageOrientation:'portrait',//排版,默认:'portrait'(竖版),'landscape'(横板)compress: true,//pdf压缩,默认:truepageMargins: [ 40, 60, 40, 60 ],//页边距(左、上、右、下)//pdf中内容的显示content: [{ text: pdf_data.xfjName + '信访事项复查(复核)调查(约谈)笔录', style: 'header' },{ text: '时间:' + pdf_data.time, style: 'content' },{ text: '调查地点:' + pdf_data.address, style: 'content' },{ text: '调查人:' + pdf_data.dcr + '  工作单位:' + pdf_data.dcr_dw, style: 'content' },{ text: '记录人:' + pdf_data.jlr + '  工作单位:' + pdf_data.jlr_dw, style: 'content' },{ text: '被调查人:' + pdf_data.bdcr, style: 'content' },{ text: pdf_data.content, style: 'content' }],//文字样式styles: {header: {fontSize: 20,//字体大小bold: true,//粗体(如果导入的字体库中没有相应文字的粗体,请不要加)alignment:'center'//居中对齐},content: {fontSize: 14,italics: true,//字体的一种(如果导入的字体库中没有相应的字体,请不要加)//alignment: 'right'//居右对齐}},defaultStyle: {font: 'fangsong'}
};
pdfMake.fonts = {fangsong: {normal: 'fangsong.ttf',bold: 'fangsong.ttf',italics: 'fangsong.ttf',bolditalics: 'fangsong.ttf'}
};
$(function(){ $("#btn_printtt").click(function(){//pdfMake.createPdf(dd).download("名字没想好哦");//下载//pdfMake.createPdf(dd).open();//打开 参数:window(本页打开)// pdfMake.createPdf(dd).getBase64().then(function(data) {//将pdf转成base64// alert(data);// });pdfMake.createPdf(dd).getDataUrl().then(function(pdf_url){$("#modal_data_pdf").modal({backdrop:'static'});//打开模态框var targetElement = document.querySelector('#modal_data_body_pdf');var iframe = document.querySelector('#iframe_pdf');iframe.src = pdf_url;//给iframe设置src$(iframe).css({height:'500px', width:'100%'});});});
});
</script><body><!-- 查看pdf按钮--><button type="button" id="btn_printtt">查看pdf</button><!-- pdf显示位置--><div id="modal_data_body_pdf"><iframe id="iframe_pdf"></iframe></div>
</body></html>
前端生成pdf的js库-pdfmake.js的简单使用相关推荐
- web端生成pdf,前端生成pdf导出并自定义页眉页脚
web前端生成pdf文档 描述 解决办法 技术栈 逻辑 直接上代码,后边再唠叨,注释写的还算清晰吧 用到的方法 模拟数据 最终版截图扔这儿一个 开始唠叨 需求 梳理 决定 缺点 描述 前端导出pdf文 ...
- 前端生成PDF 文件教程+在线demo案例
个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 PDF 简介 PDF 全称Portable Document Format (PDF)(便携文档格式),该格式的显示与操作系统.分辨 ...
- 前端生成pdf并导出,解决了图片不能绘制的问题.(一)
生成pdf的方式有多种,前端后端都可生成,各有优缺点,本文主要讲解前端生成pdf的方式,并解决了图片不能绘制的问题.前端生成,使用 html2canvas进行绘制.该方式操作简单,浏览器端即可完成,不 ...
- React jsPdf+html2canvas 前端生成pdf(分页截断 + 图片质量)
前言 记录一下最近实现的前端生成pdf的功能,以及遇到的坑和解决方式 由于笔者1年多没碰过react了,之前也比较少使用hooks,实现这个功能也是想复习一下之前的知识,如果有什么写得不好的请指出交流 ...
- highlight.js css,JS库之Highlight.js的用法详解
下载到本地后,新建个页面测试 1.在head中加入css和js的引用 highlight hljs.initHighlightingOnLoad(); 2.添加对应要显示的内容 # 读取文件内容 de ...
- 【卡法 常用 ckl.js 库】: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度...
[卡法 常用js库]: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度 // +---------------------- ...
- 前端生成PDF文件实现方案
一.技术选型 1.html转换成canvas后生成图片导出pdf(本文选用) html转canvas插件:html2canvas是一款将HTML代码转换成Canvas的插件: canvas生成pdf: ...
- vue前端生成PDF文档+电子印章并导出(不用后端)
效果图: 环境安装 将页面html转换成图片 npm install --save html2canvas 将图片生成pdf npm install jspdf --save 创建htmlToPdf. ...
- 前端生成pdf 下载
前端实现HTML转PDF下载的两种方式 - 简书 方式一:使用html2canvas和jspdf插件实现 该方式是通过html2canvas将HTML页面转换成图片,然后再通过jspdf将图片的bas ...
最新文章
- JavaScript碎片
- 一个很简单的H5的转盘抽奖的(主要用的是css3的属性)
- 专家:电脑看多了掉头发怎么办?
- ADO之connection
- java并发之Future与Callable使用
- android 状态栏一体化 fragment,单Activity多Fragment动态修改状态栏颜色功能
- java 装饰流_java装饰流的使用【转】
- 惠普收购Palm意在遏制同系竞争
- 服务器传文件的工具,向服务器传文件的工具
- CMOS、BIOS介绍
- 转移性乳腺癌的基因组图谱突出了突变和特征频率的变化
- vb计算机器,科学计算器vb代码
- html中的表格背景透明度标签,透明度 背景
- 虚拟机VMware下载与安装教程(详细)
- 为什么不居中(CellRangeAddress),关于excel导出合并单元格
- ‘findstr‘ 不是内部或外部命令,也不是可运行的程序或批处理文件...
- 【English】十大词性之感叹词(感叹句)
- (二十五)套利定价理论(APT)
- 库存物资管理系统(过关测试)
- 计算机专业英语 读书笔记
热门文章
- 如何制作笔记本操作系统恢复盘
- 苹果首款自研芯片 M1 惊艳亮相,带来最强三款 Mac 电脑!
- EntityComponentSystemSamples学习笔记
- 虚幻Material
- 懒人版小学生1-6年级计算题练习(口算练习)可直接电脑上答题或者打印题目
- 锤子开源 Smartisan T1/T2、坚果 Pro 等手机内核源代码
- 如何通过电影学英语 English through Movies
- Mac item2 配色,大小写敏感及常用快捷键
- 北京协和医学院823计算机原理,2017年北京协和医学院病原生物学研究所823计算机原理考研仿真模拟题...
- MarkdownPad2自动生成侧边导航栏目录