PDF.js介绍以及使用

这篇具有很好参考价值的文章主要介绍了PDF.js介绍以及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、PDF.js是什么

PDF.js是一个JavaScript库,可以在现代Web浏览器中渲染和显示PDF文件。它的主要作用是将PDF文件转换为HTML5格式,以便在浏览器上进行展示和交互。

PDF.js的主要功能包括:

  1. 在浏览器中显示PDF:PDF.js使用HTML5的canvas元素来呈现PDF页面,使得用户可以在浏览器中直接查看PDF文件,而无需依赖外部的PDF阅读器插件。
  2. 支持基本的浏览功能:PDF.js提供了一套用户界面,包括缩放、滚动、翻页等浏览功能,使用户能够方便地导航和浏览PDF文件。
  3. 支持文本搜索:PDF.js可以对PDF文件进行文本搜索,用户可以输入关键字来查找并定位到相应的内容。
  4. 支持页面导航:PDF.js提供了页面导航功能,用户可以跳转到特定的页面,或者在查看多页PDF时进行翻页。
  5. 支持缩放和旋转:PDF.js允许用户调整PDF页面的缩放级别,并可以旋转页面以适应不同的阅读需求。
  6. 支持批注和标记:PDF.js可以让用户在PDF文件中进行批注和标记,例如划线、画框、添加注释等,以便在阅读或共享时进行交流和标记重点。

总的来说,PDF.js提供了一种在Web浏览器中展示和操作PDF文件的解决方案,使用户能够直接在浏览器中浏览和使用PDF,而无需依赖外部的PDF阅读器插件或专门的PDF编辑工具。

二、PDF.js使用

官网
https://mozilla.github.io/pdf.js/
简单显示案例

<!DOCTYPE html>
<html>
<head>
    <title>PDF.js Example</title>
    <style>
        #pdf-container {
            width: 800px;
            height: 600px;
        }
    </style>
</head>
<body>
<div id="pdf-container"></div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.js"></script>
<script>
    // 指定工作线程脚本的路径
    pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.worker.js';

    // 获取容器元素
    var container = document.getElementById('pdf-container');

    // 加载PDF文档
    pdfjsLib.getDocument('./2.pdf').promise.then(function(pdf) {
        // 获取第一页
        pdf.getPage(1).then(function(page) {
            var scale = 1.5;
            var viewport = page.getViewport({ scale: scale });

            // 创建一个<canvas>元素用于显示PDF页面
            var canvas = document.createElement('canvas');
            var context = canvas.getContext('2d');
            canvas.width = viewport.width;
            canvas.height = viewport.height;

            // 将PDF页面渲染到<canvas>元素中
            page.render({
                canvasContext: context,
                viewport: viewport
            });

            // 将<canvas>元素添加到容器中
            container.appendChild(canvas);
        });
    });
</script>
</body>
</html>

这段代码是使用PDF.js库在浏览器中显示PDF文件的示例。如果你想要修改代码以实现一些功能,可以参考以下示例修改:

  1. 添加翻页功能:
var currentPage = 1;
function renderPage(pageNumber) {
  container.innerHTML = ''; // 清空容器
  pdf.getPage(pageNumber).then(function(page) {
    var scale = 1.5;
    var viewport = page.getViewport({ scale: scale });
    var canvas = document.createElement('canvas');
    var context = canvas.getContext('2d');
    canvas.width = viewport.width;
    canvas.height = viewport.height;
    page.render({
      canvasContext: context,
      viewport: viewport
    });
    container.appendChild(canvas);
    currentPage = pageNumber;
  });
}

// 监听翻页按钮点击事件
document.getElementById('prev-btn').addEventListener('click', function() {
  if (currentPage > 1) {
    renderPage(currentPage - 1);
  }
});

document.getElementById('next-btn').addEventListener('click', function() {
  if (currentPage < pdf.numPages) {
    renderPage(currentPage + 1);
  }
});

在HTML中添加两个按钮:

<button id="prev-btn">Previous</button>
<button id="next-btn">Next</button>

这样就可以通过点击按钮来翻页了。

  1. 文本搜索功能:
function search(text) {
  var searchParams = {
    query: text,
    highlightAll: true
  };
  pdf.getPage(currentPage).then(function(page) {
    return page.getTextContent();
  }).then(function(textContent) {
    pdfjsLib.renderTextLayer({
      textContent: textContent,
      container: container,
      viewport: page.getViewport({ scale: scale }),
      textDivs: []
    }, searchParams);
  });
}

// 监听搜索表单提交事件
document.getElementById('search-form').addEventListener('submit', function(event) {
  event.preventDefault();
  var searchText = document.getElementById('search-input').value;
  search(searchText);
});

在HTML中添加搜索表单:

<form id="search-form">
  <input id="search-input" type="text" placeholder="Search">
  <button type="submit">Search</button>
</form>

这样就可以在表单中输入关键字进行文本搜索了。

请注意,以上只是示例代码,实际实现中可能需要根据具体需求进行调整和完善。同时,需要确保PDF.js和相关依赖的正确引入,以及正确指定PDF文件的路径和文件名。文章来源地址https://www.toymoban.com/news/detail-851792.html

到了这里,关于PDF.js介绍以及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PDF.js 前端开发使用指南

    PDF.js是一个用于在网页中显示PDF文档的JavaScript库。它是由Mozilla开发的,是一个完全免费、开源的工具。在本篇文章中,我们将详细介绍如何使用PDF.js进行前端开发,包括基本的使用方法、代码示例以及一些实用的技巧。 1. 安装 PDF.js 安装PDF.js有两种方法: 方法1:通过npm安装

    2024年02月08日
    浏览(49)
  • 在浏览器中使用javascript打印HTML中指定Div带背景图片内容生成PDF电子证书查询的解决方案

    要调用浏览器中的打印功能,并指定需要打印的内容为特定的DIV内的内容,你可以使用JavaScript来实现。下面是一种实现方法: 首先,在需要打印的DIV标签上添加一个唯一的ID属性,例如: 接下来,在JavaScript中使用 window.print() 方法来调用浏览器的打印功能,并指定打印的内容

    2024年02月13日
    浏览(59)
  • Html转PDF,前端JS实现Html页面导出PDF(html2canvas+jspdf)

    一、背景介绍 ​ 当我们在不想改变后端代码的同时想是纯html页面导出PDF,那么(html2canvas+jspdf)就是无疑最好的选择,导出时它不占用我们服务器的资源,而是由用户本地自行执行js文件下载PDF,不占用我们系统的带宽,所以这无非是最好的选择方式。 二、疑问 1、为什么要

    2024年01月23日
    浏览(56)
  • js将html页面转为pdf

    在 JavaScript 中,可以使用以下两种方法将 HTML 页面转换为 PDF 文件: 使用第三方库,如 jsPDF 或 html2canvas。 使用浏览器的内置功能,如 window.print() 方法,可以将 HTML 页面转换为 PDF 文件。 下面是使用 jsPDF 的例子: 使用 window.print() 方法的例子: 在浏览器中,你可以使用快捷键

    2024年02月15日
    浏览(50)
  • Print.js实现打印pdf,HTML,图片(可设置样式可分页)

    目录 一.安装及引入Print.js 二.介绍 三.常用配置 四.具体使用 一.安装及引入Print.js 1.安装 2.在需要使用的文件引入 二.介绍 Print.js有四种打印类型:\\\'pdf\\\'、\\\'html\\\'、\\\'image\\\'、\\\'json\\\'。 它的基本用法是调用printJS()并传入参数 三.常用配置 Print.js接受一个对象作为参数,在这里你可以配置

    2024年02月06日
    浏览(46)
  • 【jspdf】前端html生成pdf的两种办法 以及 引入中文字体

    1、使用canvas把html生成图片,然后使用jspdf生成pdf。优点:生成的pdf 样式还原度极高,缺点:图片形式的pdf无法编辑 2、直接使用jspdf的html方法直接把html生成pdf。优点:可编辑,缺点:只是把文本内容搂出来生成pdf,也就是说样式基本无,而且jspdf不支持中文字体的,如果有中

    2024年02月10日
    浏览(45)
  • vue前端预览pdf并加水印、ofd文件,控制打印、下载、另存,vue-pdf的使用方法以及在开发中所踩过的坑合集

    根据公司的实际项目需求,要求实现对pdf和ofd文件的预览,并且需要限制用户是否可以下载、打印、另存pdf、ofd文件,如果该用户可以打印、下载需要控制每个用户的下载次数以及可打印的次数。正常的预览pdf很简单,直接调用浏览器的预览就可以而且功能也比较全,但是一

    2024年02月16日
    浏览(172)
  • 纯前端--原生js将html页面变成pdf文件(html2canvas+jsPDF)

    1、将文档放在本地,用原生js进行引用和使用。 ① 新建一个名为 html2canvas.min.js 的文件,并且将线上的内容进行复制。 ② 引入 js 文件: 2、使用 npm 进行安装使用: 待续。。。 github 中文网站 CDN Jspdf.es.js:ES 2015 模块格式。 Jspdf.umd.js:UMD模块格式,用于 AMD 或脚本标签加载

    2024年02月08日
    浏览(57)
  • 前端生成pdf之html2canvas+jsPDF,以及解决图片不显示bug

    开发背景: 需要给页面中相应的内容生成pdf,查找文档后发现要用到两个插件。html2canvas 以及 jsPDF html2canvas 给dom结构转化为canvas,然后生成各种类型图片 jsPDF 把canvas 生成的图片url 转化为pdf 参数 image:表示要插入的图片资源,可以是图片文件的路径或者base64编码字符串。

    2024年02月02日
    浏览(52)
  • 奇舞周刊第497期:解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容

    记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~  解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容 最近研究了 Web 的 FileSystemAccess Api,它弥补了 Web 长期以来缺少的能力:操作用户设备中的文件;而如今通过这个 Api 我们能够实现常见的文件

    2024年02月11日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包