1. 安装 PDF.js
安装PDF.js有两种方法:
方法1:通过npm安装
可以通过npm安装PDF.js,使用以下命令:
npm install pdfjs-dist
这样就会在你的项目中安装PDF.js。
方法2:手动下载
也可以从官方网站https://mozilla.github.io/pdf.js/getting_started/手动下载PDF.js。下载后,将pdf.js和pdf.worker.js文件放到你的项目中。
2. 使用 PDF.js
使用PDF.js需要做以下几步:
步骤1:创建一个空的div
在你的HTML文件中创建一个空的div元素,用于显示PDF文档。例如:
<div id="pdf-container"></div>
步骤2:引入 PDF.js
在你的HTML文件中引入PDF.js文件。如果你使用npm安装的PDF.js,则可以使用以下代码引入:
<script src="node_modules/pdfjs-dist/build/pdf.min.js"></script>
如果你手动下载的PDF.js,则可以使用以下代码引入:
<script src="pdf.js"></script>
<script src="pdf.worker.js"></script>
步骤3:加载 PDF 文档
使用PDF.js加载PDF文档需要做以下几步:
步骤3.1:创建一个PDF文档实例
在JavaScript代码中创建一个PDF文档实例,例如:
const url = 'your_pdf_file.pdf';
const pdfDoc = null;
pdfjsLib.getDocument(url).promise.then(doc => {
pdfDoc = doc;
});
其中,url是你要加载的PDF文档的URL。
步骤3.2:获取 PDF 页面
获取PDF文档中的页面,例如:
const pageNumber = 1;
pdfDoc.getPage(pageNumber).then(page => {
const scale = 1.5;
const viewport = page.getViewport({ scale: scale });
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
document.getElementById('pdf-container').appendChild(canvas);
const renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
其中,pageNumber是你要显示的PDF文档的页码。
步骤3.3:显示 PDF 页面
将 PDF 页面显示在网页中,例如:
pdf.getPage(1).then((page) => {
// 获取页面的Canvas元素
const canvas = document.createElement('canvas');
container.appendChild(canvas);
// 获取页面渲染器
const renderer = {
canvasContext: canvas.getContext('2d'),
viewport: page.getViewport({ scale: 1 })
};
// 渲染页面
page.render(renderer);
});
PDF.js允许您自定义文档的呈现方式。以下是一些自定义选项:
要设置页面的缩放比例,可以将scale选项传递给getViewport方法。例如:
const viewport = page.getViewport({ scale: 2 });
要将页面旋转90度,可以将rotate选项传递给getViewport方法。例如:
const viewport = page.getViewport({ rotate: 90 });
要设置页面的背景色,可以将backgroundColor选项传递给渲染器对象。例如:
const renderer = {
canvasContext: canvas.getContext('2d'),
viewport: page.getViewport({ scale: 1 }),
backgroundColor: 'gray'
};