最近项目里需要做一个在浏览器直接预览pdf的功能,有些浏览器可以直接预览pdf文件,但是有些不能(不要躲,说的就是你IE)查资料普遍推荐pdf.js,兼容能到ie9,很不错了。

1. 从pdf.js官网http://mozilla.github.io/pdf.js/下载文件解压

2.刚开始与同事商量说在点击打开pdf的页面上展示pdf文件,自己在上面添加一个关闭按钮回到打开pdf界面,做的过程中发现一些莫名其妙的问题,第一遍点击pdf文件预览是没有问题,在关闭后在点击打开pdf文件时左边的目录树点击无效。改起来很困难,放弃这个方案(浪费大量时间),采用使用pdf.js最普遍的在新界面打开pdf文件。

3.运行viewer.html需要在服务器环境上运行才有效。(我用的phpStudy创建的环境)

4.实际项目中文件的位置可能与demo中的文件位置有出入,下面理出来可能需要改的文件地址,具体地址怎么改要看你文件的位置

在viewer.html页面

在viewer.css文件里,里面的背景图片地址要修改

在viewer.js文件里

5.打开pdf文件

在viewer.js中检索DEFAULT_URL 得到这个

后面就是打开的pdf文件,这样只能打开这个pdf文件,无法动态打开pdf文件

在viewer.js里,先把DEFAULT_URL后面的pdf文件去掉,

当你点击某个pdf文件时,获取他的文件地址,再打开这个这种格式的地址就可以打开对应的pdf文件,Viewer.html的地址+?file=+pdf文件地址  注意pdf文件的相对地址

例子:http://localhost:5697/viewer.html?file=/abc.pdf

6. 后来移到自己vs的c#后台环境中时出现问题,语言系统和pdf里中文无法显示,那两个文件夹里的文件都无法加载

直接访问404链接都出现

查大量资料和他人提问说是.properties文件类型和.bcmap文件类型服务中没有mime类型,需要添加对应mime类型,网上的很多资料都是在电脑里的iis里添加mime类型,半天都找不到iis,还需要安装IIS,太麻烦了,而且你只能改自己电脑,其他电脑无法修改,简直浪费生命,还有一个方案是在后台服务Web.config里添加mime类型,找到后台的Web.config,在里面添加

<system.webServer>

<staticContent>

<mimeMap fileExtension=".properties" mimeType="application/octet-stream" />

<mimeMap fileExtension=".bcmap" mimeType="application/octet-stream" />

</staticContent>

</system.webServer>

不知道properties、bcmap的文件类型就在mimeType填application/octet-stream

这样语言和中文都显示没有问题了。累并快乐。

pdf.js使用爬过的坑的更多相关文章

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

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

  2. pc或者微信上用pdf.js在线预览pdf和word

    最近项目要求pdf和word可以在线预览功能,pc端还好解决,但是微信端就有点坑了,pc端原来的思路是将文件转成base64,然后用html格式显示 ,但是微信端不支持, 这种方式就pass掉了,谷歌 ...

  3. 在线浏览PDF之PDF.JS (附demo)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#skill 下载地址:http://mozilla.gith ...

  4. 移动端嵌入pdf.js远程请求pdf出现(206)

    最近在做移动端的开发,需要嵌入pdf进行预览.看了很多的js组件后选择了pdf.js:使用起来还是比较方便的,至于使用网上有很多的教程. 但在使用过程中出现了如下一个问题(我做的是IOS系统): 问题 ...

  5. unity3D-iOS工程整合爬过的坑~

    unity3D-iOS工程整合爬过的坑~ 好久好久没有写博了~ 最近换了一份有意思的新工作,也是当下最热门的新技术,AR技术.笔者之前一直是做iOS开发的,接触了一门全新的技术,兴奋了好久好久,笔者也 ...

  6. pdf.js pdfdom.js使用(转)

    开篇语: 最近工作需要做一个借款合同,公司以前的合同都是通过app端下载,然后通过本地打开pdf文件,而喜欢创新的我,心想着为什么不能在线H5预览,正是这个想法,说干就干,实践过程总是艰难的,折腾了3 ...

  7. pdf.js在IIS中配置使用笔记

    最近在手机App开发Android版本时候遇到需要显示PDF文件的需求,记得之前直接使用系统浏览器或者WebView就可以显示,但是现在不可以了,只能另寻其他办法. 最终找到PDF.JS来进行实现,但 ...

  8. 使用PDF.JS在线查看PDF

    过程简单粗暴. 第一步:下载源码https://github.com/mozilla/pdf.js 第二步:将源码拷贝进项目中,可以新建一个PDFShow文件夹存放代码 第三步:修改viewer.js ...

  9. PDF.js

    http://www.linuxidc.com/Linux/2015-06/118728.htm http://blog.csdn.net/xiangcns/article/details/42089 ...

随机推荐

  1. Linux之tcpdump使用详解

    1.1  三种关键字 关于类型的关键字 第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202. ...

  2. Ubuntu 切换到桌面 快捷键设置

    设置完以上步骤后,这接windows系统键+d,即可切换到桌面. ps:按Alt+Tab键,可以切换到自己想要的图标进程.

  3. C++面试笔记--继承和接口

    整个C++程序设计全面围绕面向对象的方式进行.类的继承特性是C++的一个非常重要的机制.继承特性可以使一个新类获得其父类的操作和数据结构,程序员只需在新类中增加原有类没有的成分. 在面试过程中,各大企 ...

  4. 手把手教Android商业项目-即时通讯-i美聊

    [课程概况] 手把手教你从无到有的完整实现一个Android商业项目,是目前整个市场上所没有的课程,废话不多说,请往下看. [项目概况] 项目名称:i美聊 所属领域:移动社交 即时通讯   代码行数: ...

  5. 按失真类型分类整理IQA数据集:TID2013

    前面已经整理了TID2008,这次整理TID2013的工作相对较简单,只需要改代码的一部分就可以了,首先我大概介绍一些TID2013. TID2013是TID2008的加强版,链接如下:http:// ...

  6. Mac下配置MAMP Pro+PHPStorm

    一.配置MAMP Pro Hosts 下载地址:http://xclient.info/s/mamp-pro.html 在Hosts页签下,如图所示位置选择你工程目录 二.配置PHPStorm 1.点 ...

  7. [raspberry pi3] aarch64 mongodb 编译和安装

    raspberry pi3官方支持是32bit的系统,使用mongodb的时候有2G数据库大小的限制,32bit的系统上数据大点基本上就可以认为不能用了,所以要装64bit的opensuse. 安装了 ...

  8. Kotlin 变量和常量的声明(var和val)

    Kotlin有着非常非常智能化的声明变量方式.叫做类型推断 声明变量要使用关键字var和val. var声明方式第一种(自动推断): var nub=1231://自动定义整数型 使用分号 var c ...

  9. 读《JavaScript权威指南》笔记(五)

    1.getComputedStyle()方法的返回值是一个CSSStyleDeclaration对象,它代表了应用在指定元素(或伪对象)上的所有样式. 2.clip style="clip: ...

  10. cuda by example

    int offset= x+y*dim   x 线程块内的线程索引 y 线程块索引 dim 线程块的维度   tid = threadIdx.x+blockIdx.x*blockDim.x 计算大于或 ...