关于PDFJS在线预览
2017-08-21 13:41
489 查看
之前做过PDF预览,在本项目中,本是之前做好了,项目经理突然要求要后台给前传文件流的方式来预览,这可把我给蛋疼的,在网上搜罗一翻,找到PDFJS来实现效果,在网上找了各种资料,可是就是不显示啊有木有,经过两的时间 总算找到了原因,我不知道网上其他大牛是怎么做出来的,反正我按照他们的方式是不行,下面来说说我遇到的问题,整理一下,希望能帮助遇到和我一样问题的同学!
首先来看看网上的说法:
第一步:下载源码https://github.com/mozilla/pdf.js
第二步:构建PDF.js
第三步:修改viewer.js
var DEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf'
里面是PDF的路径
删除该变量定义;
第四步:通过ajax的方式获取文件流数据,并处理。
Js代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/11/57651df62ad6e778bd7c46f5f233de45.png)
var DEFAULT_URL = "";//注意,删除的变量在这里重新定义
var PDFData = "";
$.ajax({
type:"post",
async:false,
mimeType: 'text/plain; charset=x-user-defined',
url:文件流请求地址,
success:function(data){
PDFData = data;
}
});
var rawLength = PDFData.length;
//转换成pdf.js能直接解析的Uint8Array类型,见pdf.js-4068
var array = new Uint8Array(new ArrayBuffer(rawLength));
for(i = 0; i < rawLength; i++) {
array[i] = PDFData.charCodeAt(i) & 0xff;
}
DEFAULT_URL = array;
第五步:将上面的代码作为js文件或是代码片段,加入viewer.html(上面的代码要放在<script src="viewer.js"></script>引入之前)。
问题来了,我就是按照这种方法来的 可死活就是不行,经过对问题的查找,找到了问题所在:
那就是viewer.js中的这个方法在ajax请求这前就执行了,所以DEFAULT_URL
一直是空,于是我改了下这个方法,在webViewerInitialized()中加了一个方法参数,在页面js中的相应方法也改了!
果然:问题完美解决!
大家要是还有什么不明的,可以直接下载我改过后的PDFJS的demo:
http://download.csdn.net/download/qq616138361/9943149
首先来看看网上的说法:
第一步:下载源码https://github.com/mozilla/pdf.js
第二步:构建PDF.js
第三步:修改viewer.js
var DEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf'
里面是PDF的路径
删除该变量定义;
第四步:通过ajax的方式获取文件流数据,并处理。
Js代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/11/57651df62ad6e778bd7c46f5f233de45.png)
var DEFAULT_URL = "";//注意,删除的变量在这里重新定义
var PDFData = "";
$.ajax({
type:"post",
async:false,
mimeType: 'text/plain; charset=x-user-defined',
url:文件流请求地址,
success:function(data){
PDFData = data;
}
});
var rawLength = PDFData.length;
//转换成pdf.js能直接解析的Uint8Array类型,见pdf.js-4068
var array = new Uint8Array(new ArrayBuffer(rawLength));
for(i = 0; i < rawLength; i++) {
array[i] = PDFData.charCodeAt(i) & 0xff;
}
DEFAULT_URL = array;
第五步:将上面的代码作为js文件或是代码片段,加入viewer.html(上面的代码要放在<script src="viewer.js"></script>引入之前)。
问题来了,我就是按照这种方法来的 可死活就是不行,经过对问题的查找,找到了问题所在:
那就是viewer.js中的这个方法在ajax请求这前就执行了,所以DEFAULT_URL
一直是空,于是我改了下这个方法,在webViewerInitialized()中加了一个方法参数,在页面js中的相应方法也改了!
果然:问题完美解决!
大家要是还有什么不明的,可以直接下载我改过后的PDFJS的demo:
http://download.csdn.net/download/qq616138361/9943149
相关文章推荐
- 关于pdf.js在线预览远程的服务器中的pdf
- 使用pdf.js进行在线预览PDF出现问题
- PDF在线预览 ,兼容IE,chrome。使用了pdfobject.js
- PDF在线预览-pdfjs使用
- openoffice4.1.3+jquery.media.js 实现txt,doc,excel,ppt,pdf在线预览
- 使用pdf.js在线预览远程服务器上的pdf文件
- openOffice+jodConverter+jquery.media.js在线预览office、pdf、txt等文档
- 工作笔记三——使用pdf.js实现pdf文件的在线预览
- pc或者微信上用pdf.js在线预览pdf和word
- js在线预览pdf文件
- 关于论坛实现pdf,word等文档在线预览的功能探讨
- 关于在线预览word,excel,ppt,pdf的需求处理方法。
- jquery.media.js 插件实现在线预览PDF文件
- 使用pdf.js在线预览pdf
- pdf.js 在线预览
- PDF.js在线预览pdf、图片、txt类型文件
- PDF文件在线预览之pdf.js
- 在线预览插件pdf.js使用记录
- pdf.js使用(在线预览pdf文件)
- Jquery.media.js实现网页在线预览pdf文件