viewerjs 在html打开图片或打开pdf文件使用案例
开发者常用到在线访问pdf,txt,浏览图片的插件,这里推荐viewer.js这个插件,简单好用。它的核心亮点就是查看图片和pdf功能。老早以前就用过的,昨天一个小伙伴问我Android开发在线浏览pdf怎么弄?我一下想到这个插件,帮人搞出来了,感觉这个还是得总结一下才好,不然觉得简单又容易忘记。
1.使用viewerjs浏览图片
使用前需要先引入:css.js
<link rel="stylesheet" type="text/css" href="./viewer.min.css" />
<script src="./viewer.min.js" type="text/javascript" charset="utf-8"></script>
其次简单使用代码如下:单个图片就用图片元素new 一个viewer就可以了;批量多个的图片的管理可以直接给父元素new 一个Viewer对象;
<div>
单张图片:<img src="./a3.png" class="difimg" id="dimg">
</div>
<div>
多个图片:
<ul id="images">
<li><img src="./a4.png" class="difimg" ><p> 01</li>
<li><img src="./a2.png" class="difimg" ><p> 02</li>
<li><img src="./a3.png" class="difimg" ><p> 03</li>
</ul>
</div>
var viewer = new Viewer(document.getElementById('dimg'));
var viewer1 = new Viewer(document.getElementById('images'));
如图:
2.使用viewerjs浏览pdf
a.需要下载viewer.js文件,放在服务器根目录下,官网下载如下:https://viewerjs.org/
注意标红的文字哈,如你项目名称是“mobei”,则这个PDF文件路径: mobei/PDF。 继续下文
访问语法如下:https://169.254.109.160:8001/项目名/PDF/web/viewer.html?file=https://169.254.109.160:8001/项目名/PDFfile/1.pdf#page=1"
参数解析如下:
https://169.254.109.160:8001/项目名 // 服务器根路径
PDF/web/viewer.html //你项目路径下的PDF中的viewer.html
file=https://169.254.109.160:8001/项目名/PDFfile/1.pdf //文件路径,注意一定是服务器路径不能是相对文件路径
#page=1 //可以接默认跳转第几页,可以不接这个参数
支持Iframe引入浏览打开,如图:

b.目前 谷歌,360浏览器等浏览器,以及高级ie(我这是ie11),都是能直接访问的,可能达不到客户想要的效果;具体如下图所示:


另外Android 开发的若用直接访问的方式会调用浏览器,可能被客户喷哦,所以Android采取Viewerjs用iframe调用方式比较完美解决了用户在线浏览的问题。
好了,举例的访问方式源码发给大家,愿大家少走弯路。
3.源码附件下载,启动服务器方式打开PDFfile/ciem_test.html即可
https://files.cnblogs.com/files/mobeisanghai/PDF%E4%B8%BE%E4%BE%8B.rar
属作者原创,如有转载,请表明出处:cnblogs.com/mobeisanghai/p/12012525.html
viewerjs 在html打开图片或打开pdf文件使用案例的更多相关文章
- 【使用Itext处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)】
iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...
- springboot 使用itextpdf 框架实现多个图片合成一个pdf文件
以下两个方法引入头 import com.lowagie.text.*; import com.lowagie.text.pdf.PdfWriter; import org.apache.pdfbox ...
- Android 自己写一个打开图片的Activity
根据记忆中eoe的Intent相关视频,模仿,写一个打开图片的Activity 1.在主Activity的button时间中,通过设置action.category.data打开一个图片.这时代码已经 ...
- 图片合并成PDF,两个PDF的合并
需求: 将多张手机照片合并成一个PDF,并于另一个成型PDF合并 过程: 使用全能扫描王处理一遍,拆剪掉多余部分,并提高亮度增加文字对比度 合并: 使用Faststone Capture合并图片即可. ...
- Aspose.Pdf合并图片到PDF文件
将图片和PDF文件合成为新的PDF文件,可以先将图片转换为PDF文件, 然后合成PDF即可, 将图片转换成PDF文件有如下方法: Aspose.Pdf.Document Aspose.Pdf.Gene ...
- 用C#制作PDF文件全攻略
用C#制作PDF文件全攻略 目 录 前 言... 3 第一部分 iText的简单应用... 4 第一章 创建一个Document 4 第一步 创建一个Document实例:... 5 第二步 ...
- photoshop 修改pdf文件并保存为pdf
1.CTRL + O 打开要编辑的pdf文件 按住shift 选中每一页,点击确定. pdf文档每一页以一个psd文件显示在工作区, 分别进行修改, 2.批量修改同一个元素(比如加个图标) 在一页 ...
- 将HTML页面自动保存为PDF文件并上传的两种方式(一)-前端(react)方式
一.业务场景 公司的样本检测报告以React页面的形式生成,已调整为A4大小的样式并已实现分页,业务上需要将这个网页生成PDF文件,并上传到服务器,后续会将这个文件发送给客户(这里不考虑). 二.原来 ...
- 如何修改PDF文件内容,PDF怎么添加背景
很多的情况下,大家都会遇到PDF文件,不管是在学习中还是在工作中,对于PDF文件,文件的修改编辑是需要用到PDF编辑软件的,在编辑文件的时候,发现文件的页面是有背景颜色的,又该如何修改背景颜色呢,不会 ...
随机推荐
- 性能测试之Docker监控
微服务.大中台盛行的当下,容器化已经被广泛使用.在性能测试过程中,对容器的监控模型构建也是必不可少的. 我们性能测试监控模型的构建一直是围绕着Prometheus和Grafana来展开的.她们可以快速 ...
- Rocket - 断句 - Diplomatic Design Patterns: A TileLink Case Study
https://mp.weixin.qq.com/s/afRVgTCYs1Mxu898uSmVaQ 整理一篇介绍Diplomacy和TileLink的文章. 原文链接: https://carrv ...
- Java实现 LeetCode 283 移动零
283. 移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必 ...
- Java实现 蓝桥杯VIP 算法提高 高精度乘法
算法提高 高精度乘法 时间限制:1.0s 内存限制:256.0MB 问题描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-2 ...
- Java实现 蓝桥杯VIP 算法提高 任意年月日历输出
算法提高 任意年月日历输出 时间限制:1.0s 内存限制:512.0MB 已知2007年1月1日为星期一. 设计一函数按照下述格式打印2007年以后(含)某年某月的日历,2007年以前的拒绝打印. 为 ...
- java实现第七届蓝桥杯平方圈怪
平方圈怪 题目描述 如果把一个正整数的每一位都平方后再求和,得到一个新的正整数. 对新产生的正整数再做同样的处理. 如此一来,你会发现,不管开始取的是什么数字, 最终如果不是落入1,就是落入同一个循环 ...
- 20行Python代码开发植物识别 app
这篇文章介绍如何用Python快速实现一个植物识别的app,家里养了几盆多肉还叫不上名字,正好拿来识别一下.实现这样一个app只需要20行左右的代码,先来看下效果: 另外,我也开发了微信小程序版本,大 ...
- 一篇关于Android M以后权限介绍的不错的文章
文章地址:http://www.jianshu.com/p/e1ab1a179fbb/
- 线性表 & 散列表
线性表: 数据排成一条线一样的机构,每个线性表上的数据最多只有前后两个方向, 包括 数组,链表,队列,栈. 非线性表 : 数据之间并不是简单的前后关系,有二叉树.图等. 散列表(基于 数组支持按照下标 ...
- 09.Django-信号
目录 Django中的信号及其用法 Django中内置的signal 内置信号的使用 自定义信号 Django中的信号及其用法 Django中提供了"信号调度",用于在框架执行操作 ...