pdf.js资源下载

点我下载

自定义默认加载的pdf资源

  • 在web/view.js中我们可以通过DEFAULT_URL设置默认加载的pdf。通过上面代码我们也可以看出来可以通过后缀名来指定加载的pdf。如:
http://mozilla.github.com/pdf.js/web/viewer.html?file=compressed.tracemonkey-pldi-09.pdf.

这样我们代码获取到file字段就会自动覆盖我们默认的pdf。

加载其他服务器上的pdf(远程加载)

  • 这个功能是可以实现的,但是并不是默认开启的。pdf.js和其他的JavaScript运行机制是一样的。所以无法与request请求交互。但是我们还是可以通过在我们的服务商使用cors或者设置代理向pdf.js提供pdf预览的。

支持的浏览器

  • 插件在火狐35版本及以上是不支持的。pdf.js是火狐自19版本的一部分。扩展名是由开发商和主要用于将使用最新版本的pdf.js图书馆一个年长的Firefox版本。用户应该卸载扩展,恢复pdfjs.disabled配置设置和设置选项->应用选择PDF文件的内部浏览器继续查看PDF与pdf.js Firefox。

如何开始一个pdf.js项目

首先我们得准备返回值和安装环境。就是pdf.js;其次我们得属性pdf.js内部运行机制;最后提交请求

给pdf添加注释

到目前为止,pdf.js还没有提供修改pdf的api,pdf.js主要是让我们能够预览。所以加注释目前无法实现。

精简版pdf.js

github上 gulp minified可以下载到精简版

pdf.js没有正确加载或报错吗

答案是会报错。这些问题是用来跟踪用户使用状态的。我们可以尝试通过问题追踪到问题根源

pdf已损坏,pdf.js还会加载吗

会的,pdf.js会尝试修复并显示pdf文档的

优化pdf.js

pdf.js加载速度取决于每页的容量。至于页数并不影响我们的加载速度。下面我可以给大家几点使用pdf.js优化的建议

1、避免使用高分辨率的图像,150 dpi的分辨率扫描的图像应该足够的屏幕,尤其是低动力装置;

2、尝试使用JPEG的RGB颜色空间的彩色图像编码照片;

3、避免使用高性能的效果

4、避免使用PDF生成器(或不创造内容),产生无效的PDF输出(例如LibreOffice创建一个向量元素/图片不了解小很多的图像)

5、如果有这样的设置,使用网站优化的PDF输出线性化;

6、固定或不产生损坏的PDF格式不符合规范的pdf32000


小案列

<li><a href="viewer.html?name=a.pdf" target="pdfContainer" onclick="showPdf(true)">0001_pdf</a></li>
<li><a href="viewer.html?name=b.pdf" target="pdfContainer" onclick="showPdf(true)">0002_pdf</a></li>
<script type="text/javascript">
function showPdf(isShow){
var state = "";
if(isShow){
state = "block";
}else{
state = "none";
}
var pop = document.getElementById("pop");
pop.style.display = state;
var lightbox = document.getElementById("lightbox");
lightbox.style.display = state;
}
function close(){
showPdf(false);
}
</script>

遗留问题

- 研究半天没有解决在html中的pdf.js跨域问题。网上教程都是指出php解决方法、在html上以后有机会再更新!

PDF.js 详情解说的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. PDF.js

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

  7. pdf.js使用教程

    pdf.js框架的魅力所在,为其为HTML5实现的,无需任何本地支持,而且对浏览器的兼容性也是比较好,要求只有一个:浏览器支持HTML5就好了!(不过对于低版本的IE,就只能节哀了!) 据说IE9以上 ...

  8. [pdf.js]预览pdf时,中文名称乱码的问题

    在项目中使用了pdf.js的方式预览pdf,但针对中文名称的时候会出现乱码,导致找不到该文件而出现错误. 解决办法 <script src="viewer.js" chars ...

  9. 文档在线预览开源实现方案二:OpenOffice + pdf.js

    文档在线预览的另一种实现方式采用的技术栈是OpenOffice + pdf.js, office文档转换为pdf的工作依然由OpenOffice的服务来完成,pdf生成后我们不再将其转换为其他文件而是 ...

随机推荐

  1. oracle获取当天时间的最开始的时间和最结尾的时间

    ),,'yyyy-mm-dd')||' 23:59:59' from dual

  2. Java 7 源码学习系列(二)——Enum

    Enum Enum类是java.lang包中一个类,他是Java语言中所有枚举类型的公共基类. 一.定义 public abstract class Enum<E extends Enum< ...

  3. Greenplum+mybatis问题解析

    1. 问题描述 同事团队在使用springboot+mybatis+Greenplum时,发现通过mybatis数据查询正常,但是执行insert和update执行会报"Cause: org ...

  4. MyBatis从入门到精通(2):MyBatis XML方式的基本用法

    本章将通过完成权限管理的常见业务来学习 MyBatis XML方式的基本用法 2.1一个简单的权限控制需求 权限管理的需求: 一个用户拥有若干角色,一个角色拥有若干权限,权限就是对某个模块资源的某种操 ...

  5. 个人永久性免费-Excel催化剂功能第91波-地图数据挖宝之行政区域信息实时下载(含经纬度)

    移动互联网和O2O兴起的这十年时间里,由地图LBS功能衍生出一大堆的极高商业价值的数据及应用,地图相关的数据,也是数据分析过程中一个大宝藏,从此篇开始将带给大家一系列的地图相关的数据采集,满足数据分析 ...

  6. 个人永久性免费-Excel催化剂功能第77波-专业图表制作辅助之批量维护序列点颜色及数据标签

    2018年最后一天工作日完成第77波,7是代表完美,2个7,双重的完美,Excel催化剂的2018年从始至终共77波都充满着完美接近极致的功能体验.感谢各位一路相随,陪伴成长.最后一波,再次让数据分析 ...

  7. TensorFlow笔记-组件

    张量 TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通.其实张量更代表的就是一种 ...

  8. 关于页面scroolTop的获取

    scroolTop 发现问题 获取页面滚动高度的时候: 当html页面设置了DTD<!DOCTYPE html> document.body.scroolTop // 值总是为0: doc ...

  9. 【Java中级】(五)异常处理

    1.什么是异常 异常定义:导致程序的正常流程被中断的事件,叫做异常. 2.异常处理 try catch finally throws package exception; import java.io ...

  10. 《VR入门系列教程》之15---配置Oculus的开发环境

    安装Oculus SDK     在使用类似Unity3D之类的引擎开发Oculus Rift应用之前,你必须先安装Oculus的SDK,在Oculus的官网上可以下载:http://develope ...