一、pdf.js简介
PDF.js 是一个使用 HTML5 构建的便携式文档格式查看器。
pdf.js 是社区驱动的,并由 Mozilla 支持。我们的目标是为解析和呈现 PDF 创建一个通用的、基于 Web 标准的平台。
pdf.js 将 PDF 文档转换为 HTML5 Canvas 元素,并使用 JavaScript 控制文档的呈现和交互。pdf.js 使得不需要在计算机上安装 Adobe Reader 或其他 PDF 阅读器就可以在 Web 上阅读 PDF 文档成为可能。
pdf.js是一个免费的开源软件。
支持谷歌、火狐浏览器,支持pc手机端浏览器。
Git地址:GitHub - mozilla/pdf.js: PDF Reader in JavaScript
官网地址:PDF.js
下载地址:Getting Started
二、pdf.js 使用说明
https://mozilla.github.io/pdf.js/examples/
中文使用介绍整理:
三、pdf.js 使用Demo案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../build/pdf.js"></script>
<style>
html,
body {
padding: 0px;
margin: 0px;
overflow-x: hidden;
}
</style>
</head>
<body>
<div id="container"></div>
<script>
var container, pageDiv, pdfDoc;
var winWidth = window.innerWidth;
function getPDF(url) {
pdfjsLib.getDocument(url).promise.then((pdf) => {
pdfDoc = pdf;
container = document.getElementById('container');
for (var i = 1; i <= pdf.numPages; i++) {
renderPDF(i);
}
})
}
function renderPDF(num) {
pdfDoc.getPage(num).then((page) => {
var scale = winWidth / (page.getViewport({ scale: 1 }).width);
var viewport = page.getViewport({ scale: scale });
console.info(viewport);
pageDiv = document.createElement('div');
pageDiv.setAttribute('id', 'page-' + (page.pageIndex + 1));
pageDiv.setAttribute('style', 'position: relative');
container.appendChild(pageDiv);
var canvas = document.createElement('canvas');
pageDiv.appendChild(canvas);
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
}
getPDF('compressed.tracemonkey-pldi-09.pdf');
</script>
</body>
</html>
展示效果:
四、pdf.js 在线使用案例
在线阅读器预览:
https://mozilla.github.io/pdf.js/web/viewer.html
使用方案:file=(指定自己的pdf文件地址即可)
下载源码后viewer.html文件就是在线阅读器。
https://mozilla.github.io/pdf.js/web/viewer.html?file=指定自己的pdf地址
更多: