如何在项目中使用pdf.js查看PDF文件

最近在做后台管理类的系统,需要在web页面阅读pdf文件。发现一个很好用的插件 pdf.js,简单的介绍一下

官方文档地址:http://mozilla.github.io/pdf.js/
在线演示地址:http://mozilla.github.com/pdf.js/web/viewer.html

介绍一下官网的例子

  1. 页面引入pdf.js
  2. 使用PDFJS.getDocument(‘helloworld.pdf’)方式加载要打开的PDF文件
  3. 通过Promise的then方式处理后续的方法
PDFJS.getDocument('helloworld.pdf')
.then(function(pdf){
     //you can now use *pdf* here
});
pdf.getPage(1).then(function(page){
         // you can now use *page* here
         //;加载PDF的第一页
   })
  1. 通过h5的canvas进行展示。
var scale = 1.5;  //缩放比例
 //获取窗口大小
var viewport = page.getViewport(scale); 
 //获取canvas对象
var canvas = document.getElementById('the-canvas');  
var context = canvas.getContext('2d');  
canvas.height = viewport.height;  
canvas.width = viewport.width;  
  
var renderContext = {  
  canvasContext: context,  
  viewport: viewport  
};  
page.render(renderContext); 

下面完整的例子:

页面部分:

<h1>PDF.js Previous/Next example</h1>  
  
<div>  
  <button id="prev">Previous</button>  
  <button id="next">Next</button>  
       
  <span>Page: <span id="page_num"></span> / <span id="page_count"></span></span>  
</div>  
  
<canvas id="the-canvas"></canvas>  

js部分:


//引入pdf.js之后  
var url = '//cdn.mozilla.net/pdfjs/helloworld.pdf';  
//加载核心文件  
PDFJS.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';  
  

var loadingTask = PDFJS.getDocument(url);  
loadingTask.promise.then(function(pdf) {  
  console.log('PDF loaded');  
    
  var pageNumber = 1;  
  pdf.getPage(pageNumber).then(function(page) {  
    console.log('Page loaded');  
      
    var scale = 1.5;  
    var viewport = page.getViewport(scale);  
  
    var canvas = document.getElementById('the-canvas');  
    var context = canvas.getContext('2d');  
    canvas.height = viewport.height;  
    canvas.width = viewport.width;  
  
    var renderContext = {  
      canvasContext: context,  
      viewport: viewport  
    };  
    var renderTask = page.render(renderContext);  
    renderTask.then(function () {  
      console.log('Page rendered');  
    });  
  });  
}, function (reason) {  
  console.error(reason);  
});  

具体使用方式可以查阅官方文档,demo写的很详细。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在网页使用PDF.js显示PDF文件可以通过以下步骤实现: 1. 下载PDF.js库:首先,你需要下载PDF.js库。你可以从GitHub上的PDF.js仓库获取最新版本的库文件。 2. 引入PDF.js库:将下载的PDF.js文件解压,并将其的`pdf.js`和`pdf.worker.js`文件复制到你的项目目录。然后,在你的HTML文件使用`<script>`标签引入这两个文件。 ```html <script src="path/to/pdf.js"></script> <script src="path/to/pdf.worker.js"></script> ``` 3. 创建一个容器元素:在HTML文件创建一个用于显示PDF文件的容器元素,例如一个`<div>`元素。 ```html <div id="pdfContainer"></div> ``` 4. 编写JavaScript代码:使用JavaScript代码加载和显示PDF文件。首先,获取容器元素的引用,并创建一个PDF.js的实例。 ```javascript var container = document.getElementById('pdfContainer'); var pdfInstance = PDFJS.getDocument('path/to/pdf/file.pdf'); ``` 5. 渲染PDF页面:使用PDF.js实例的`getPage()`方法获取PDF文件的页面,并将其渲染到容器元素。 ```javascript pdfInstance.getPage(1).then(function(page) { var canvas = document.createElement('canvas'); container.appendChild(canvas); var context = canvas.getContext('2d'); var viewport = page.getViewport({ scale: 1 }); canvas.width = viewport.width; canvas.height = viewport.height; page.render({ canvasContext: context, viewport: viewport }); }); ``` 以上代码的`'path/to/pdf/file.pdf'`应替换为你要显示的PDF文件的路径。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值