html预览pdf文件需要依赖pdf.js

移动端适配需要pdfh5.js

记录移动端适配pdfh5.js的用发


在线预览: https://www.gjtool.cn/pdfh5/pdf.html?file=https://www.gjtool.cn/pdfh5/git.pdf


  1. 引入css

    <link rel="stylesheet" href="css/pdfh5.css" />
  2. 创建div

    <div id="demo"></div>
  3. 依次引入js(需引用本项目的js,不要引用官方的pdf.js,jquery可以引用其它版的)
<script src="js/pdf.js" type="text/javascript" charset="utf-8"></script>
<script src="js/pdf.worker.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/pdfh5.js" type="text/javascript" charset="utf-8"></script>
  1. 实例化:
var pdfh5 = new Pdfh5('#demo', {
pdfurl: "./default.pdf"
});
  1. 实例化参数 var pdfh5 = new Pdfh5(selector, options);
参数名称 类型 取值 是否必须 作用
selector {String} - pdfh5的容器选择器
options {Object} - × pdfh5的配置项参数
  1. options配置项参数列表
  • 示例: 配置项参数 lazy:true 开启懒加载,默认是false,不开启懒加载
var pdfh5 = new Pdfh5('#demo', {
pdfurl: "./default.pdf",
lazy:true
});
参数名称 类型 取值 作用
pdfurl {String} - pdf地址
URIenable {Boolean} true、false,默认false true开启地址栏file参数
data {String(blob) - pdf文件流 ,与pdfurl二选一
renderType {String} "canvas"、"svg",默认"canvas" pdf渲染模式
lazy {Boolean} true、false, 默认false
maxZoom {Number} 默认3 手势缩放最大倍数
scrollEnable {Boolean} true、false, 默认true 是否允许pdf滚动
zoomEnable {Boolean} true、false, 默认true 是否允许pdf手势缩放
cMapUrl {String} 默认"https://www.gjtool.cn/cmaps/" 解析pdf时,特殊情况下显示完整字体的cmaps文件夹路径,例如 cMapUrl:"https://unpkg.com/
limit {Number} 默认0 限制pdf加载最大页数
  1. pdf文件流请求示例(以jq ajax为例)
$.ajax({
url: "https://gjtool.cn/pdfh5/git.pdf", //假设这是pdf文件流的请求接口
type: "get",
mimeType: 'text/plain; charset=x-user-defined',//jq ajax请求文件流的方式
success: function (data) {
var pdfh5 = new Pdfh5('#demo', {
data: data
});
}
});
$.ajax({
url: "https://gjtool.cn/pdfh5/git.pdf", //假设这是pdf文件流的请求接口
type: "get",
mimeType: 'text/plain; charset=x-user-defined',//jq ajax请求文件流的方式
success: function (data) {
var rawLength = data.length;
var array = new Uint8Array(new ArrayBuffer(rawLength));
for (i = 0; i < rawLength; i++) {
array[i] = data.charCodeAt(i) & 0xff;
}
var pdfh5 = new Pdfh5('#demo', {
data: array
});
}
});
$.ajax({
url: "https://gjtool.cn/pdfh5/git.pdf", //假设这是pdf文件流的请求接口
type: "get",
mimeType: 'text/plain; charset=x-user-defined',//jq ajax请求文件流的方式
success: function (data) {
var rawLength = data.length;
var array = [];
for (i = 0; i < rawLength; i++) {
array.push(data.charCodeAt(i) & 0xff);
}
var pdfh5 = new Pdfh5('#demo', {
data: array
});
}
});
  1. methods 方法列表
  • 实例 是否允许pdf滚动
pdfh5.scrollEnable(true) //允许pdf滚动
pdfh5.scrollEnable(false) //不允许pdf滚动
参数名称 类型 取值 作用
scrollEnable {Boolean} true、false, 默认true 是否允许pdf滚动(需要在pdf加载完成后使用)
zoomEnable {Boolean} true、false, 默认true 是否允许pdf手势缩放(需要在pdf加载完成后使用)
show {Function} 带一个回调函数参数 pdfh5显示
hide {Function} 带一个回调函数参数 pdfh5隐藏
reset {Function} 带一个回调函数参数 pdfh5还原
destroy {Function} 带一个回调函数参数 pdfh5销毁
on {String, Function} String:监听的事件名,Function:监听的事件回调 on方法监听所有事件
  1. on方法监听所有事件-事件名列表
  • 示例: 监听pdf准备开始渲染,此时可以拿到pdf总页数
pdfh5.on("ready", function () {
console.log("总页数:" + this.totalNum)
})
参数名称 回调 作用
init {Function} 监听pdfh5开始初始化
ready {Function} 监听pdf准备开始渲染,此时可以拿到pdf总页数
error {Function(msg,time))} 监听加载失败,msg信息,time耗时
success {Function(msg,time))} 监听pdf渲染成功,msg信息,time耗时
complete {Function(status, msg, time)} 监听pdf加载完成事件,加载失败、渲染成功都会触发。status有两种状态success和error
render {Function(currentNum, time, currentPageDom)} 监听pdf渲染过程,currentPageDom当前加载的pdf的dom,currentNum当前加载的pdf页数,
zoom {Function(scale)} 监听pdf缩放,scale缩放比例
scroll {Function(scrollTop)} 监听pdf滚动,scrollTop滚动条高度
backTop {Function} 监听回到顶部按钮的点击事件回调
zoomEnable {Function(flag)} 监听允许缩放,flag:true,false
scrollEnable {Function(flag)} 监听允许滚动,flag:true,false
show {Function} 监听pdfh5显示
hide {Function} 监听pdfh5隐藏
reset {Function} 监听pdfh5还原
destroy {Function} 监听pdfh5销毁

html预览pdf文件需要依赖pdf.js

移动端适配需要pdfh5.js

记录移动端适配pdfh5.js的用发


在线预览: https://www.gjtool.cn/pdfh5/pdf.html?file=https://www.gjtool.cn/pdfh5/git.pdf


  1. 引入css

    <link rel="stylesheet" href="css/pdfh5.css" />
  2. 创建div

    <div id="demo"></div>
  3. 依次引入js(需引用本项目的js,不要引用官方的pdf.js,jquery可以引用其它版的)
<script src="js/pdf.js" type="text/javascript" charset="utf-8"></script>
<script src="js/pdf.worker.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/pdfh5.js" type="text/javascript" charset="utf-8"></script>
  1. 实例化:
var pdfh5 = new Pdfh5('#demo', {
pdfurl: "./default.pdf"
});
  1. 实例化参数 var pdfh5 = new Pdfh5(selector, options);
参数名称 类型 取值 是否必须 作用
selector {String} - pdfh5的容器选择器
options {Object} - × pdfh5的配置项参数
  1. options配置项参数列表
  • 示例: 配置项参数 lazy:true 开启懒加载,默认是false,不开启懒加载
var pdfh5 = new Pdfh5('#demo', {
pdfurl: "./default.pdf",
lazy:true
});
参数名称 类型 取值 作用
pdfurl {String} - pdf地址
URIenable {Boolean} true、false,默认false true开启地址栏file参数
data {String(blob) - pdf文件流 ,与pdfurl二选一
renderType {String} "canvas"、"svg",默认"canvas" pdf渲染模式
lazy {Boolean} true、false, 默认false
maxZoom {Number} 默认3 手势缩放最大倍数
scrollEnable {Boolean} true、false, 默认true 是否允许pdf滚动
zoomEnable {Boolean} true、false, 默认true 是否允许pdf手势缩放
cMapUrl {String} 默认"https://www.gjtool.cn/cmaps/" 解析pdf时,特殊情况下显示完整字体的cmaps文件夹路径,例如 cMapUrl:"https://unpkg.com/
limit {Number} 默认0 限制pdf加载最大页数
  1. pdf文件流请求示例(以jq ajax为例)
$.ajax({
url: "https://gjtool.cn/pdfh5/git.pdf", //假设这是pdf文件流的请求接口
type: "get",
mimeType: 'text/plain; charset=x-user-defined',//jq ajax请求文件流的方式
success: function (data) {
var pdfh5 = new Pdfh5('#demo', {
data: data
});
}
});
$.ajax({
url: "https://gjtool.cn/pdfh5/git.pdf", //假设这是pdf文件流的请求接口
type: "get",
mimeType: 'text/plain; charset=x-user-defined',//jq ajax请求文件流的方式
success: function (data) {
var rawLength = data.length;
var array = new Uint8Array(new ArrayBuffer(rawLength));
for (i = 0; i < rawLength; i++) {
array[i] = data.charCodeAt(i) & 0xff;
}
var pdfh5 = new Pdfh5('#demo', {
data: array
});
}
});
$.ajax({
url: "https://gjtool.cn/pdfh5/git.pdf", //假设这是pdf文件流的请求接口
type: "get",
mimeType: 'text/plain; charset=x-user-defined',//jq ajax请求文件流的方式
success: function (data) {
var rawLength = data.length;
var array = [];
for (i = 0; i < rawLength; i++) {
array.push(data.charCodeAt(i) & 0xff);
}
var pdfh5 = new Pdfh5('#demo', {
data: array
});
}
});
  1. methods 方法列表
  • 实例 是否允许pdf滚动
pdfh5.scrollEnable(true) //允许pdf滚动
pdfh5.scrollEnable(false) //不允许pdf滚动
参数名称 类型 取值 作用
scrollEnable {Boolean} true、false, 默认true 是否允许pdf滚动(需要在pdf加载完成后使用)
zoomEnable {Boolean} true、false, 默认true 是否允许pdf手势缩放(需要在pdf加载完成后使用)
show {Function} 带一个回调函数参数 pdfh5显示
hide {Function} 带一个回调函数参数 pdfh5隐藏
reset {Function} 带一个回调函数参数 pdfh5还原
destroy {Function} 带一个回调函数参数 pdfh5销毁
on {String, Function} String:监听的事件名,Function:监听的事件回调 on方法监听所有事件
  1. on方法监听所有事件-事件名列表
  • 示例: 监听pdf准备开始渲染,此时可以拿到pdf总页数
pdfh5.on("ready", function () {
console.log("总页数:" + this.totalNum)
})
参数名称 回调 作用
init {Function} 监听pdfh5开始初始化
ready {Function} 监听pdf准备开始渲染,此时可以拿到pdf总页数
error {Function(msg,time))} 监听加载失败,msg信息,time耗时
success {Function(msg,time))} 监听pdf渲染成功,msg信息,time耗时
complete {Function(status, msg, time)} 监听pdf加载完成事件,加载失败、渲染成功都会触发。status有两种状态success和error
render {Function(currentNum, time, currentPageDom)} 监听pdf渲染过程,currentPageDom当前加载的pdf的dom,currentNum当前加载的pdf页数,
zoom {Function(scale)} 监听pdf缩放,scale缩放比例
scroll {Function(scrollTop)} 监听pdf滚动,scrollTop滚动条高度
backTop {Function} 监听回到顶部按钮的点击事件回调
zoomEnable {Function(flag)} 监听允许缩放,flag:true,false
scrollEnable {Function(flag)} 监听允许滚动,flag:true,false
show {Function} 监听pdfh5显示
hide {Function} 监听pdfh5隐藏
reset {Function} 监听pdfh5还原
destroy {Function} 监听pdfh5销毁
------------恢复内容结束------------

html页面预览pdf文件使用插件pdfh5.js的更多相关文章

  1. 使用pdfjs插件在线预览PDF文件

    前言 本文介绍在html中使用 pdfjs插件在线预览PDF文件的方法. 实现步骤 下载 pdfjs 并引入项目中 到PDFJS官网 http://mozilla.github.io/pdf.js/g ...

  2. 文档控件NTKO OFFICE 详细使用说明之预览PDF文件(禁止打印、下载、另存为、防抓包下载)

    1.在线预览PDF文件(禁止打印.下载.复制.另存为) (1) 运行环境 ① 浏览器:支持IE7-IE11(平台版本还支持Chrome和Firefox) ② IE工具栏-Internet 选项:将ww ...

  3. 用pdf.js实现在移动端在线预览pdf文件

    用pdf.js实现在移动端在线预览pdf文件1.下载pdf.js    官网地址:https://mozilla.github.io/pdf.js/ 2.配置    下载下来的文件包,就是一个demo ...

  4. fis3+vue+pdf.js制作预览PDF文件或其他

    人生第一篇博客,的确有点紧张,但有些许兴奋,因为这对于我来说应该是一个好的开始,以此励志在技术的道路上越走越远. 看过了多多少少的技术博客,给自己带来了很多技术上的收获,也因此在想什么时候自己也可以赠 ...

  5. 前端使用pdf.js预览pdf文件

    现在的浏览器基本都支持直接把pdf文件拖到浏览器就可以打开了,不用安装额外的插件.但是不同的浏览器显示的页面不一样.如果我们想在网页上统一预览pdf怎样实现呢? Mozilla开源了一个插件pdf.j ...

  6. 前端使用pdf.js预览pdf文件,超级简单

    现在的浏览器基本都支持直接把pdf文件拖到浏览器就可以打开了,不用安装额外的插件.但是不同的浏览器显示的页面不一样.如果我们想在网页上统一预览pdf怎样实现呢? Mozilla开源了一个插件pdf.j ...

  7. 网页嵌入pdf、在线预览pdf工具及插件(转)

    摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如下: 代码片段1: 1 <object ty ...

  8. ASP.NET MVC 项目直接预览PDF文件

    背景及需求 项目使用的是MVC4框架,其中有一个功能是根据设置生成PDF文件,并在点击时直接预览. 实现过程 1.第一版实现代码: HTML内容 @{ Layout = null; } <!DO ...

  9. HTML页面预览表格文件内容

    背景简介 在将一个表格文件上传到服务器上之前,JS读取表格文件并将文件内容输出到页面中 vue项目 第三方 exceljs 安装 npm install exceljs 插件使用 github 中文文 ...

随机推荐

  1. gin中使用路由组

    package main import ( "github.com/gin-gonic/gin" ) func main() { router := gin.Default() / ...

  2. 不难懂-----type=number 去掉加减按钮并禁止鼠标滚轮滚动

    <style> /* 去除webkit中input的type="number"时出现的上下图标 */ input::-webkit-outer-spin-button, ...

  3. 函数的参数python教程

    一:函数 什么是函数? 函数就类似于工具 提前定义之后可以反复使用 代码冗余 结构清晰 修改繁杂等问题 二:函数的语法结构 def 函数名(参数1,参数2) '''函数注释''' 函数体代码 retu ...

  4. mybatis 原生写法创建项目

    一.创建全局文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuratio ...

  5. Redis集群安装详细步骤

    环境: Centos7    redis3.0 三台虚拟机主机名分别为 master   node1  node2 如果单机的时候设置过密码最好把密码去掉,避免位置的错误. 拍个快照方便恢复. 1.创 ...

  6. python编写购物车

    上次的学习又没有坚持下来,工作忙的不可开交,但我反思了一下还是自己没有下定决心好好学习,所以这次为期3个月的学习计划开始了,下面是这次学习后重新编写的购物车初版代码. 1 # 功能要求: 2 # 要求 ...

  7. 将一个读取流转换成bitmap对象

     将一个读取流转换成bitmap对象:         BitmapFactory:可以将文件,读取流,字节数组转换成一个Bitmap对象.         Bitmap bitmap = Bitma ...

  8. 在TCP文件传输中如何判断java流的末尾

    感谢前辈们的解答:https://bbs.csdn.net/topics/280085530 问题描述: 服务端向客户端发送数据流,服务端发完了数据不关闭流. 我在客户端读流,我无法读到-1,所以无法 ...

  9. curl 查看接口的网络分段响应时间

    示例如下 curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_tota ...

  10. Java线程--ForkJoinPool使用

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11871099.html Java线程--ForkJoinPool使用 简单解释下: Fork是 ...