原生小程序如何使用pdf.js实现查看pdf,以及关键词检索高亮

本文介绍了如何下载pdf.js库并将其应用于H5项目中,通过在Vue组件中使用iframe展示PDF文件。在微信小程序中,通过web-view标签嵌入H5页面,并根据传入参数显示特定PDF。如果遇到跨域问题,可以通过修改viewer.js来解决。
摘要由CSDN通过智能技术生成

1.下载pdf.js库文件

前往 pdf.js 的 官网 下载库文件,下哪个版本都可以,后者适用于旧版浏览器,所以我下载的是后者

在这里插入图片描述

下载完成后,因为微信小程序打包的限制,我将库文件放到项目的后台系统了,在h5端处理会比在小程序端处理方便,最后就用web-view标签嵌入到小程序即可;

2.将下载好的pdf.js导入h5项目

2.1、目录结构

在这里插入图片描述

2.2、h5端使用pdf.js

新建一个文件夹–>新建一个.vue文件用来展示pdf文件–>使用iframe标签承接pdf文件
运行能打开默认的pdf文件,就证明成功了

在这里插入图片描述

pdf.vue

<template>
    <!-- pdf详情页 -->
   <div>
      <iframe :src="../../../public/pdfjs-3.5.141-legacy-dist/web/viewer.html" width="100%" height="700px;"></iframe>
    </div>
</template>

<script >

import { useRouter } from "vue-router";
export default {
    name: 'pdf',
    setup() {
        document.title = 'pdf详情页'  // 修改本页面网页标题
        const route = useRouter()
        return {}
    }
}
</script>

<style>

</style>

注:有可能会出现以下报错,只需要找到viewer.html,将script标签的type修改成module即可

在这里插入图片描述
在这里插入图片描述

然后运行项目,本页面能打开默认的pdf文件就证明成功了

在这里插入图片描述

2.3、嵌入到小程序中

在这里插入图片描述

<template>
    <!-- pdf详情页 -->
   <div>
      <iframe :src="file" width="100%" height="700px;"></iframe>
    </div>
</template>

<script >

import { useRouter } from "vue-router";
export default {
    name: 'pdf',
    setup() {
        document.title = 'pdf详情页'  // 修改本页面网页标题
        const route = useRouter()
        console.log(route.currentRoute.value.query.file);
        let file = route.currentRoute.value.query.file; // 获取当前url参数
        if (file) {
            file = `../../../public/pdfjs-3.5.141-legacy-dist/web/viewer.html?file=${file}` // 找到参数则展示指定pdf
        } else {
            file = '../../../public/pdfjs-3.5.141-legacy-dist/web/viewer.html'  // 若没有找到参数,打开默认pdf文件
        }
        return {
           file
        }
    }
}
</script>

<style>

</style>

通过小程序传来的参数,h5端就能访问到pdf,利用pdf.js自带的关键词检索,就能完成业务需求啦

在这里插入图片描述

如果出现跨域问题的话,在viewer.js文件中找到以下代码注释掉即可

在这里插入图片描述

在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PDF.js 是一个用于在 Web 上显示 PDF 文档的 JavaScript 库。它可以在不依赖浏览器插件的情况下,直接在网页中加载和渲染 PDF 文件。 要在 HTML 中使用 PDF.js,首先需要引入相关的 JavaScript 文件和 CSS 样式。你可以从 PDF.js 官方网站下载最新版本的文件,或者使用 CDN 引入。 下面是一个简单的示例,演示如何使用 PDF.js 在网页中加载和显示 PDF 文件: ```html <!DOCTYPE html> <html> <head> <title>PDF.js 示例</title> <style> /* 设置容器的高度 */ #pdf-container { height: 500px; } </style> </head> <body> <div id="pdf-container"></div> <script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script> <script> // 获取容器元素 const container = document.getElementById('pdf-container'); // PDF.js 加载 PDF 文件 pdfjsLib.getDocument('./path/to/your/pdf/file.pdf').promise.then(pdf => { // 获取第一页 pdf.getPage(1).then(page => { const scale = 1.5; const viewport = page.getViewport({ scale }); // 创建一个 Canvas 元素用于渲染 PDF 页面 const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); canvas.width = viewport.width; canvas.height = viewport.height; container.appendChild(canvas); // 将 PDF 页面渲染到 Canvas 上 page.render({ canvasContext: context, viewport }); }); }); </script> </body> </html> ``` 在上面的示例中,我们创建了一个固定高度的容器 `#pdf-container`,用于显示 PDF 页面。然后,通过 `pdfjsLib.getDocument()` 方法加载指定的 PDF 文件,获取第一页,并将其渲染到一个 Canvas 元素上。 请注意,上述示例只展示了如何在 HTML 中使用 PDF.js 进行简单的 PDF 页面渲染,更多高级功能和配置选项可以查阅 PDF.js 的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值