PDF.js是为html5实现的在线预览pdf框架,所以你的浏览器要支持html5才能使用这个框架。

pdf.js使用步骤

一. 到官网下载 pdf.js 插件并解压 (地址: http://mozilla.github.io/pdf.js/ )

1: 进入官网


2 : 选择稳定版 下载

3: 下载至本地

4 : 解压

5:将解压后的文件夹重命名为generic拷贝到tomcat的webapps文件夹下:

然后启动tomcat,输入以下网址测试:

http://localhost:8080/generic/web/viewer.html

这时就会出现一个酷酷的界面:

generic/web/viewer.html主要是渲染阅读器的样式,而generic/web/viewer.js可以指定默认打开的文件(当然还有其他功能),打开viewer.js,找到下面一段代码:

defaultUrl: {value: 'compressed.tracemonkey-pldi-09.pdf',kind: OptionKind.VIEWER}

这里指定默认的pdf,要想打开指定的pdf文件,可以在http://localhost:8080/generic/web/viewer.html后面加上file参数。例如打开下面的test.pdf:

就可以使用

http://localhost:8080/generic/web/viewer.html?file=test.pdf

来打开

以上使用file传参是比较简单的方式,只要知道了文件名跟类型就行了。但是这种方式用在项目中的话只能打开项目里的pdf文件,换句话说就是PDF.js默认是不能打开项目外文件系统的文件,这时就需要自己写控制器来下载pdf文件。

控制器示例(基于spring boot框架):

/*** 预览pdf文件* @author Mike* @param request* @param response* @param fileName*/@RequestMapping(value = "/downloadPdf", method = RequestMethod.GET)public void pdfStreamHandeler(HttpServletRequest request, HttpServletResponse response,String fileName) {String filePath = "D:/upload/supervision/" + fileName;
//        System.out.println(fileName);File file = new File(filePath);byte[] data = null;try {FileInputStream input = new FileInputStream(file);data = new byte[input.available()];input.read(data);response.getOutputStream().write(data);input.close();} catch (Exception e) {System.out.print("pdf文件处理异常:" + e.getMessage());}}

其中fileName要包括文件后缀名。下面是前台调用控制器的示例:

window.location.href = "/pdfjs/web/viewer.html?file=" + encodeURIComponent("/downloadPdf?fileName=" + number + "." + type);

由于一个url中不能出现两个?号,所以需要用到js中的encodeURIComponent()来进行编码,然后viewer.js里会自动对编码的内容进行解码,函数如下:

WebApp打开服务器端pdf文件相关推荐

  1. LabVIEW如何打开Acrobat PDF文件

    LabVIEW如何打开Acrobat PDF文件 如何能够在LabVIEW的VI中打开一个Acrobat Reader的文档? 解答: 在LabVIEW中打开一个PDF文件最大的困难就是寻找一种可靠的 ...

  2. android中打开查看pdf文件可用mupdf

    项目中用到过mupdf第三方库来开发android应用直接打开pdf文件的功能,为了更多的了解mupdf库上网找资料发现一篇个人文章写的还不错,拿来记录一下: 一时兴起 因为自己前段时间一直在做故事会 ...

  3. 打开含有pdf文件的文件夹电脑一直闪烁解决方案

    PDF 引起的异常 苦苦找了一晚上 背景:电脑好好地的 突然出现 打开文件夹 显示 正在处理,然后卡顿 闪退 找了网上好多方法都不行,最后发现是PDF文件引起的: 有PDF的文件夹全部是这种情况 另外 ...

  4. 福昕阅读器多窗口/标签 打开同一个pdf文件

    一.多实例窗口 点击 文件-左侧栏偏好设置,在文档选项中勾选**"多实例"选项**,确定后再打开同一个pdf即可在多个福昕阅读器浏览 二.单标签多视图窗口 点击视图-页面显示,第三 ...

  5. js打开服务器pdf文件,iOS使用pdf.js打开PDF文件

    最近研究了下iOS打开PDF文件的方式,由于项目需要在浏览PDF文件时能使用HTML格式文件,调研了一下iOS中打开PDF文件的几种方式,发现pdf.js开源库可以做到这一点,通过调用js在线预览PD ...

  6. 微信小程序---下载、打开及预览PDF文件的方法

    微信小程序的常用功能:打开PDF格式的文档.小程序的官方API是 wx.downloadFile.wx.openDocument(点击可以直接跳转到官方文档的解释) 详细用法请看Demo: //下载P ...

  7. 为什么pdf文件在一个计算机上能打开,拷贝到别的计算机上就打不开,显示文件已损坏?,pdf文件在电脑上打不开怎么办...

    电脑安装有pdf文件阅读器,但是就是打不开pdf文件.下面由学习啦小编为你整理了pdf文件在电脑上打不开怎么办的相关方法,希望对你有帮助! pdf文件电脑打不开解决方法如下 1在电脑上双击一个pdf文 ...

  8. 用电脑怎么打开pdf文件阅读

    有的pdf文件不能打开阅读怎么办?阅读效果差想让阅读效果更好一些怎么办?其实这些问题用pdf阅读器就可以解决啦. 轻快pdf阅读器是一个非常便捷的pdf阅读器,它具有个性化的阅读模式,支持单页以及书本 ...

  9. html 在线打开pdf文件怎么打开,在HTML中打开pdf文件怎么打开

    回答: PDF是Portable Document Format的简称,意为"便携式文档格式",是由Adobe Systems用于与应用程序.操作系统.硬件无关的方式进行文件交换所 ...

最新文章

  1. mysql主从复制的简单配置
  2. 【MySQL】 性能优化之 延迟关联
  3. 陈鑫136201010502
  4. 活动 | 5G万物智联下互联网通信技术升级之路
  5. .net core i上 K8S(五).netcore程序的hostip模式
  6. 第一个JDK 10(18.3)候选版本(内部版本43)展示了新的版本控制方案
  7. java处理url中的特殊字符%等
  8. 实用常识 | 推荐一个科研必备计算搜索引擎—WolframAlpha(内含矩阵相关指令操作)
  9. shell 清楚空格_Cygwin系列(五):Shell命令行初体验
  10. Ubuntu 14.04 下每次重启系统都默认最大亮度的解决办法
  11. 常见数据分析误区有哪些
  12. 关于C++ const成员的一些细节
  13. 传智播客Java 二维数组
  14. 计算机应用基础 项目4-5 分析商品销售业绩 ppt课件,计算机应用基础课件项目四汇总.ppt...
  15. MATLAB2010激活后无法打开MATLAB的解决方法
  16. google 翻译错误解决方法
  17. 安装思源笔记/siyuan插件pandoc
  18. 教你win10怎么从电脑查找隐藏视频
  19. CPU结构及工作原理
  20. 一行一行读取文件的两种方式

热门文章

  1. 实验九:ENSP虚拟专用网络分析
  2. 关于Android模拟器运行时,鼠标放到虚拟键盘上报错的解决办法
  3. 服务器无线桥接,服务器无线桥接设置方法
  4. 标准键盘码值表-十六进制
  5. 中继器的使用方法!(上)
  6. python生成30个随机数_python3生成一个含有20个随机数的列表,要求所有元素不相同,并且每个元素的值介于1到100之间...
  7. 浏览器的 代理服务拒绝访问 问题
  8. IL2CPP MONO unity 编译器
  9. onreadystatechange的认识
  10. AI 编剧大师 #Dramatron