首页 前端知识 网页在线打开PDF_网站中在线查看PDF之pdf.js

网页在线打开PDF_网站中在线查看PDF之pdf.js

2024-05-12 00:05:13 前端知识 前端哥 134 905 我要收藏

一、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 中文文档

三、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地址

更多:

网页在线打开PDF_网站中在线查看PDF之TouchPDF

JS实现网页选取截屏 保存+打印 功能(转)

echarts中国地图使用整理

转载请注明出处或者链接地址:https://www.qianduange.cn//article/8192.html
标签
pdf
评论
发布的文章

JSON三种数据解析方法

2024-05-22 09:05:13

使用nvm管理(切换)node版本

2024-05-22 09:05:48

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!