-
注意:本地绝对路径地址不能加载,跨域问题用代理或者服务端解决。
-
svg模式渲染存在缺陷,只能渲染普通pdf,带签名、印章的可能会渲染不全,报错,pdf.js官方目前没有给出解决方案
-
canvas模式本质是图片,默认进去的时候,图片在手机端被缩放,不是原分辨率,所以失真模糊。所以需要放大查看pdf
-
引入css
<link rel="stylesheet" href="css/pdfh5.css" />
- 创建div
<div id="demo"></div>
- 依次引入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>
var pdfh5 = new Pdfh5('#demo', {
pdfurl: "网络地址"
});
npm install pdfh5
<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";
转载文章:https://www.cnblogs.com/newcxd/p/13878302.html
原文链接:https://www.cnblogs.com/newcxd/p/13878302.html
pdfh5.js
pdfh5.js基于pdf.js和jQuery,web / h5 /移动端PDF预览手势插件。
注意:本地绝对路径地址不能加载,跨域问题用代理或服务端解决。
svg模式渲染存在缺陷,只能渲染普通pdf,带签名,印章的可能会渲染不全,报错,pdf.js官方目前没有提供解决方案
canvas模式本质是图片,至少进去的时候,图片在手机端被缩放,不是原分辨率,所以失真模糊。所以需要放大查看pdf
React
是vue使用示例,vue示例展示axios调用接口展示pdf,跨域代理,相对路径等方法
是React使用示例
2021.02.03更新:更新goto方法,增加b
来源:SegmentFault 思否作者:会鹏因项目开发需要在线展示 PDF文件,为解决 PDF文件 在浏览器打开后电子签章、电子签名等展示不全且部分浏览器兼容问题特利用pdf.js解决该问题;pdf.js框架为HTML5,无需任何本地支持,兼容性极好只要浏览器支持 HTML5 即可(据说 IE9 以上都是可以的);当时解决该问题探索时间比较长,其实也并没有想象的那么困难比较简单特此记录...
今天用pdfh5.js框架来实现手机上对pdf的访问。中间遇到了一个问题,就是无法打开路径有中文的pdf文件。一开始考虑到是否是url没有进行encode,但是试了后没有用。最终看了官方pdf.js的代码,发现pdfh5.js的script标签页的charset要用gb2312,设置以后果然好了。
<script src="../build/pdfh5.js" type="text/javascript" charset="gb2312"> <script>
this.pdfSrc = pdf.createLoadingTask(this.pdfSrc);
let CMAP_URL = "https://unpkg.com/pdfjs[email protected]/cmaps/";
this.pdfSrc = pdf.createLoadingTask({
url: this.$route.query.pathUrl,
cMapUrl: CMAP_URL,
cMapPacked: true,
场景之前项目也有过pdf在线显示的场景,详见下面的两篇无文字刚开始使用pdf.js,后来发现由于签章有加密算法,导致签章显示不出来。又迫于签章的重要性,后来不得不考虑别的方法,把pdf转换成图片来展示。以前使用pdf.js都是直接在网上找的现成的可以使用的文件,这次直接从官网来自己搞。
http://blog.csdn.net/gao36951/article/details/52216765
要说在工作中,大家最常接触的可能就是各类文件了。 尤其是在当前信息技术的影响下,办公倡导无纸化、电子化,很多文件都存储在计算机里,从内容和形式上给文件管理工作带来了便利,但也带来了一些安全方面的挑战。 3.如要再次打开此文件,需在控制面板中打开“文件夹”选项点击“查看”按钮,勾选“显示隐藏的文件、文件夹和驱动器”即可。压缩文件设置密码 防止重要文件被别人误看,还有一个安全保障的方法,就是给文件上...
由于项目中需要支持移动设备在线浏览pdf,苹果还好,天生支持,但是安卓中就不行了,需要第三方组件的支持。这里就找到了pdf.js,由于pdf数据太多,开始的时候没法一一测试,所以随便测试打开了几篇没问题后就直接上线了。但是后面就悲剧了,偶然收到反馈,有些pdf无法正常浏览,此为写本文的原因。具体的现像查找问题过程一、用火狐(火狐解析pdf是用的pdf.js)来直接打开这篇pdf,发现居然是对的,那...
最后选择了
pdfh5.js 强烈点赞 详情链接https://www.gjtool.cn/articles/2019/09/04/1567571649102.html
这个ios 和Android下 都可以手势放大缩小,点击可以下载图片,反正我找到的 移动端效果最好的插件了,安卓再也不用操作如此复杂的去打开pdf
touchpdf.js 基于pd......