JS 预览 PDF

JS 预览 PDF

JS 预览 PDF

在网页开发中,有时候我们需要在网页中展示 PDF 文件,而不是让用户下载文件后再查看。这种需求经常出现在一些在线学习平台、文档管理系统等场景中。本文将介绍如何使用 JavaScript 在网页中预览 PDF 文件。

方法一:使用 <embed> 标签

最简单的方法是使用 <embed> 标签来嵌入 PDF 文件。示例代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Preview PDF</title>
</head>
<body>
    <embed src="example.pdf" type="application/pdf" width="100%" height="600px">
</body>
</html>

在上面的代码中,我们使用 <embed> 标签并设置 src 属性为 PDF 文件的链接,type 属性为 application/pdfwidthheight 属性可以根据需求自行设置。

方法二:使用 PDF.js

PDF.js 是一个由 Mozilla 开发的用于在网页中显示 PDF 文件的 JavaScript 库。它可以将 PDF 文件渲染成 canvas 元素,从而在网页上展示 PDF 内容。以下是使用 PDF.js 的示例代码:

首先,在 head 标签中引入 PDF.js 文件:

<script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script>

然后在 JavaScript 中编写代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Preview PDF</title>
    <script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script>
</head>
<body>
    <canvas id="pdfViewer" style="border: 1px solid black;"></canvas>
    <script>
        // PDF 文件地址
        const pdfUrl = 'example.pdf';

        // 获取显示 PDF 的 canvas 元素
        const pdfContainer = document.getElementById('pdfViewer');

        // 异步加载 PDF 文件
        pdfjsLib.getDocument(pdfUrl).promise.then(pdf => {
            pdf.getPage(1).then(page => {
                const scale = 1.5;
                const viewport = page.getViewport({ scale });

                const canvas = document.createElement('canvas');
                const context = canvas.getContext('2d');
                canvas.height = viewport.height;
                canvas.width = viewport.width;
                pdfContainer.appendChild(canvas);

                page.render({ canvasContext: context, viewport });
            });
        });
    </script>
</body>
</html>

在上面的代码中,我们首先引入 PDF.js 文件,然后通过 pdfjsLib.getDocument() 方法来获取 PDF 文件,再使用 page.render() 方法将 PDF 文件渲染到 canvas 元素中。需要注意的是,由于渲染 PDF 文件是一个异步操作,因此我们需要使用 promise 来处理。

方法三:使用 PDFObject.js

PDFObject.js 是一个方便的 JavaScript 库,可以简化在网页中预览 PDF 文件的过程。以下是使用 PDFObject.js 的示例代码:

首先,在 head 标签中引入 PDFObject.js 文件:

<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js"></script>

然后在 JavaScript 中编写代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Preview PDF</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js"></script>
</head>
<body>
    <div id="pdfViewer"></div>
    <script>
        // PDF 文件地址
        const pdfUrl = 'example.pdf';

        // 将 PDF 文件嵌入到指定的 div 元素中
        pdfObject.embed(pdfUrl, '#pdfViewer');
    </script>
</body>
</html>

在上面的代码中,我们引入 PDFObject.js 文件,并使用 pdfObject.embed() 方法将 PDF 文件嵌入到指定的 div 元素中。这样可以更加方便地在网页中预览 PDF 文件。

以上是三种常见的在网页中预览 PDF 文件的方法,根据具体需求可以选择适合的方法来实现。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程