1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > pdfh5.js 基于pdf.js和jQuery web/h5/移动端PDF预览手势缩放插件。

pdfh5.js 基于pdf.js和jQuery web/h5/移动端PDF预览手势缩放插件。

时间:2023-09-05 23:50:47

相关推荐

pdfh5.js 基于pdf.js和jQuery web/h5/移动端PDF预览手势缩放插件。

pdfh5.js 基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件。

注意:本地绝对路径地址不能加载,跨域问题用代理或者服务端解决。

svg模式渲染存在缺陷,只能渲染普通pdf,带签名、印章的可能会渲染不全,报错,pdf.js官方目前没有给出解决方案

canvas模式本质是图片,默认进去的时候,图片在手机端被缩放,不是原分辨率,所以失真模糊。所以需要放大查看pdf

pdfh5博客主页

pdfh5项目GitHub地址

react、vue均可使用

example/test是vue使用示例,vue示例展示axios调用接口展示pdf,跨域代理,相对路径等方法

example/react-test是react使用示例

更新信息

.07.30 更新: 更新jquery版本至jquery-2.1.1.min.js

pdfh5在线预览 (建议使用谷歌浏览器F12手机模式打开预览)

/pdfh5/pdf.html?file=/pdfh5/git.pdf

快速使用(有两种方式)

一、script标签引入方式(需下载本项目文件夹css/pdfh5.css、js内所有文件)

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-2.1.1.min.js" type="text/javascript" charset="utf-8"></script><script src="js/pdfh5.js" type="text/javascript" charset="utf-8"></script>

4.实例化

var pdfh5 = new Pdfh5('#demo', {pdfurl: "./default.pdf"});

二、npm安装方式(适应于vue), react使用方法类似vue(example/react-test是react使用示例)

1.安装

npm install pdfh5

2.使用

<template><div id="app"><div id="demo"></div></div></template><script>import Pdfh5 from "pdfh5";export default {name: 'App',data() {return {pdfh5: null};},mounted() {//实例化this.pdfh5 = new Pdfh5("#demo", {pdfurl: "../../static/test.pdf"});//监听完成事件this.pdfh5.on("complete", function (status, msg, time) {console.log("状态:" + status + ",信息:" + msg + ",耗时:" + time + "毫秒,总页数:" + this.totalNum)})}}</script><style>@import "pdfh5/css/pdfh5.css";*{padding: 0;margin: 0;}html,body,#app {width: 100%;height: 100%;}</style>

注意:如果css引用报错的话,按下面的方式引用。

import Pdfh5 from "pdfh5";import "pdfh5/css/pdfh5.css";

API接口方法

实例化

pdfh5实例化的时候传两个参数,selector选择器,options配置项参数,会返回一个pdfh5实例对象,可以用来操作pdf,监听相关事件

var pdfh5 = new Pdfh5(selector, options);

options配置项参数列表

示例:配置项参数 pdfurl

var pdfh5 = new Pdfh5('#demo', {pdfurl: "./default.pdf"});

以下属性可选

pdf文件流请求示例(以jq ajax为例)

$.ajax({url: "/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: "/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: "/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});}});

axios示例

axios.get("/pdfh5/git.pdf",{responseType:"arraybuffer"}).then(res=>{this.pdfh5 = new Pdfh5('#demo', {data: res.data});})

methods 方法列表

示例:是否允许pdf滚动

pdfh5.scrollEnable(true) //允许pdf滚动pdfh5.scrollEnable(false) //不允许pdf滚动

on方法监听所有事件-事件名列表

示例:监听pdf准备开始渲染,此时可以拿到pdf总页数

pdfh5.on("ready", function () {console.log("总页数:" + this.totalNum)})

扫下面小程序码,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。