PDF.js HTML5页面内预览框架
PDF 文档的浏览需求挺常见的,尤其在不想跳转、还想直接在网页上预览的时候,用 PDF.js 就蛮合适。它是 Mozilla 开源的项目,配合 HTML5 的 canvas
,能把 PDF 渲染成 2D 图形在页面里直接展示,省事还不丑。
PDF.js 的用法其实不难。你只要去 GitHub 上把 web
目录整个拉下来,里面的 pdf.js
、pdf.worker.js
和配套的 viewer.css
基本就是核心了。在 HTML 页面里引入脚本,再放个 来显示内容就搞定一半。
用法上,可以直接通过 PDFJS.getDocument()
传一个 PDF 文件的地址或 Blob 对象加载文档。拿到 pdf.getPage(1)
后,调用 page.render()
就能把第一页画出来了。下面这段是个基本例子:
PDFJS.getDocument('path_to_your_pdf_file.pdf').then(function(pdf) {
pdf.getPage(1).then(function(page) {
var scale = 1;
var viewport = page.getViewport({ scale: scale });
var canvas = document.getElementById('pdfCanvas');
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
});
这里记得 pdf.worker.js
要设置好路径,不然控制台会一直报错。渲染完 PDF 后,还可以扩展搜索、缩放、翻页等功能,官方 API 都有文档。
哦对了,如果你要上线,建议配合打包工具比如 Webpack 做些优化,不然直接引入未压缩版,文件体积会有点吓人。License 是 Mozilla Public License 2.0,用着也放心。
如果你想了解更多细节,可以看看这几个扩展链接:
如果你正打算做个文档预览工具,或者想省去第三方 PDF 插件那一套,PDF.js 真的还挺值得一试。
2.57MB
文件大小:
评论区