前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jsPDF – 基于 HTML5 的强大 PDF 生成工具

jsPDF – 基于 HTML5 的强大 PDF 生成工具

作者头像
阳光岛主
发布2018-05-17 09:49:28
2.9K0
发布2018-05-17 09:49:28
举报
文章被收录于专栏:米扑专栏

jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档。

使用方法很简单,只要引入 jsPDF 库,然后调用内置的方法就可以了。

米扑科技项目用到了HHTML5生成PDF,原文详见米扑博客:

jsPDF – 基于 HTML5 的强大 PDF 生成工具

浏览器兼容性: 

IE 10, Firefox 3+, Chrome, Safari 3+, Opera,未来将兼容 IE 10 以下版本,对于 IE10 以下的版本会使用 Downloadify 来实现文件下载功能。

支持文件格式:

文本,数字,图形,图片,同时你可以自由的编辑标题或者其它类型元素。

曾经生成PDF都是服务器端代码的专利,在今天的这篇文章中,我们将介绍一个JavaScript类库 - jsPDF,使用它能够帮助你使用前端脚本生成PDF文件,是不是很棒,试试吧!

支持互动的内容制作,例如,你可以输入文字或者数字,然后jsPDF帮助生成最后的PDF内容。

支持现代浏览器,如果是老式浏览器的话,可以很好的使用flash来实现兼容。不过貌似支持Firefox不是很好,如果要查看演示,使用Chrome吧!

官网地址:http://jspdf.com https://parall.ax/products/jspdf

下载地址:https://github.com/MrRio/jsPDF

jquery生成pdf插件jsPDF

示例网址: http://www.jq22.com/jquery-info517

示例演示: http://www.jq22.com/yanshi517

在客户端JavaScript生成PDF文件。

创建您的第一个文档

看examples/basic.html例子。

123

var doc = new jsPDF();doc.text(20, 20, 'Hello world.');doc.save('Test.pdf');

使用示例

1、文本

12345678910111213141516171819

var doc = new jsPDF();  doc.text(20, 20, 'This is the default font.');  doc.setFont("courier");doc.setFontType("normal");doc.text(20, 30, 'This is courier normal.');  doc.setFont("times");doc.setFontType("italic");doc.text(20, 40, 'This is times italic.');  doc.setFont("helvetica");doc.setFontType("bold");doc.text(20, 50, 'This is helvetica bold.');  doc.setFont("courier");doc.setFontType("bolditalic");doc.text(20, 60, 'This is courier bolditalic.');

2、图片

123456789

// You'll need to make your image into a Data URL// Use http://dataurl.net/#dataurlmakervar imgData = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4ge....../2Q==';  var doc = new jsPDF();  doc.setFontSize(40);doc.text(35, 25, "Octonyan loves jsPDF");doc.addImage(imgData, 'JPEG', 15, 40, 180, 180);

3、HTML

123456789101112131415

var doc = new jsPDF();  // We'll make our own renderer to skip this editorvar specialElementHandlers = {    '#editor': function(element, renderer){        return true;    }};  // All units are in the set measurement for the document// This can be changed to "pt" (points), "mm" (Default), "cm", "in"doc.fromHTML($('#render_me').get(0), 15, 15, {    'width': 170,    'elementHandlers': specialElementHandlers});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年12月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档