PDF.js简介

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

pdf.js 是一个由 Mozilla 开发的 JavaScript 库,可以在 Web 浏览器中显示 PDF 文档。pdf.js 将 PDF 文档转换为 HTML5 Canvas 元素,并使用 JavaScript 控制文档的呈现和交互。pdf.js 使得不需要在计算机上安装 Adobe Reader 或其他 PDF 阅读器就可以在 Web 上阅读 PDF 文档成为可能。pdf.js是一个免费的开源软件,使用和修改都非常方便。

安装

pdf.js 可以从其官方网站下载。

使用

pdf.js 的使用非常简单。以下是一个基本的示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>pdf.js 示例</title>
    <script src="path/to/pdf.js"></script>
  </head>
  <body>
    <div>
      <canvas id="pdf-canvas"></canvas>
    </div>
    <script>
      // 获取 PDF 文档
      const pdfUrl = 'path/to/pdf/document.pdf';

      // 获取 canvas 元素
      const canvas = document.getElementById('pdf-canvas');

      // 用 pdf.js 渲染 PDF 文档
      pdfjsLib.getDocument(pdfUrl).promise.then(function(pdfDoc) {
        pdfDoc.getPage(1).then(function(page) {
          const viewport = page.getViewport({scale: 1});
          const context = canvas.getContext('2d');
          canvas.height = viewport.height;
          canvas.width = viewport.width;

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

在这个示例中,首先在 <head> 部分引入 pdf.js 库,然后在 <body> 中创建一个 canvas 元素,用于显示 PDF 文档。使用 pdfjsLib.getDocument 方法获取 PDF 文档对象,然后用 pdfDoc.getPage 方法获取第一页,并将其渲染到 canvas 元素中。可以根据需要更改页面号码、缩放比例以及其他参数,以根据您的需求自定义 PDF 文档的呈现方式。

pdf.js 还支持各种 PDF 功能,如缩放、旋转和拖动等。您可以使用页面上的按钮或编写 JavaScript 代码以实现这些功能。下面是一些示例代码:文章来源地址https://www.toymoban.com/news/detail-544635.html

// 缩放 PDF 文档
const zoomInButton = document.getElementById('zoom-in');
const zoomOutButton = document.getElementById('zoom-out');
const resetZoomButton = document.getElementById('reset-zoom');

let currentScale = 1;
const MAX_SCALE = 3;
const MIN_SCALE = 0.5;

zoomInButton.addEventListener('click', function() {
  if (currentScale < MAX_SCALE) {
    currentScale += 0.5;
    pdfViewer.currentScaleValue = currentScale;
  }
});

zoomOutButton.addEventListener('click', function() {
  if (currentScale > MIN_SCALE) {
    currentScale -= 0.5;
    pdfViewer.currentScaleValue = currentScale;
  }
});

resetZoomButton.addEventListener('click', function() {
  currentScale = 1;
  pdfViewer.currentScaleValue = currentScale;
});

// 旋转 PDF 文档
const rotateLeftButton = document.getElementById('rotate-left');
const rotateRightButton = document.getElementById('rotate-right');

rotateLeftButton.addEventListener('click', function() {
  pdfViewer.pages.forEach(function(page) {
    const currentRotation = page.rotation;
    page.setRotation(currentRotation - 90);
  });
});

rotateRightButton.addEventListener('click', function() {
  pdfViewer.pages.forEach(function(page) {
    const currentRotation = page.rotation;
    page.setRotation(currentRotation + 90);
  });
});

// 拖动 PDF 文档
const pdfContainer = document.getElementById('pdf-container');

let isDragging = false;
let startPoint = {};
let currentPoint = {};

pdfContainer.addEventListener('mousedown', function(event) {
  isDragging = true;
  startPoint.x = event.clientX;
  startPoint.y = event.clientY;
});

pdfContainer.addEventListener('mousemove', function(event) {
  if (isDragging) {
    currentPoint.x = event.clientX;
    currentPoint.y = event.clientY;
    const deltaX = currentPoint.x - startPoint.x;
    const deltaY = currentPoint.y - startPoint.y;
    pdfViewer.scrollLeft -= deltaX;
    pdfViewer.scrollTop -= deltaY;
    startPoint.x = currentPoint.x;
    startPoint.y = currentPoint.y;
  }
});

pdfContainer.addEventListener('mouseup', function() {
  isDragging = false;
});

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

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

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

相关文章

  • 奇舞周刊第497期:解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容

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

    2024年02月11日
    浏览(46)
  • JavaScript快速入门:ComPDFKit PDF SDK 快速构建 Web端 PDF阅读器

    在当今丰富的网络环境中,处理 PDF 文档已成为企业和开发人员的必需品。ComPDFKit 是一款支持 Web 平台并且功能强大的 PDF SDK,开发人员可以利用它创建 PDF 查看器和编辑器,让您的最终用户轻松查看和编辑 PDF。无论您是在构建基于 Web 端的文档管理系统还是在线协作平台,

    2024年02月15日
    浏览(45)
  • 网页在线打开PDF_网站中在线查看PDF之pdf.js

    一、pdf.js简介 PDF.js 是一个使用 HTML5 构建的便携式文档格式查看器。 pdf.js 是社区驱动的,并由 Mozilla 支持。我们的目标是为解析和呈现 PDF 创建一个通用的、基于 Web 标准的平台。 pdf.js 将 PDF 文档转换为 HTML5 Canvas 元素 ,并使用 JavaScript 控制文档的呈现和交互。pdf.js 使得不

    2024年02月04日
    浏览(48)
  • vue3项目使用pdf.js插件实现:搜索高亮、修改pdf.js显示的页码、向pdf.js传值、控制搜索、处理接口文件流

    官网地址:http://mozilla.github.io/pdf.js/ 中文文档地址:https://gitcode.gitcode.host/docs-cn/pdf.js-docs-cn/print.html PDF.js是基于HTML5技术构建的,用于展示可移植文档格式的文件(PDF),它可以在现代浏览器中使用且无需安装任何第三方插件。 pdf.js主要包含两个库文件 pdf.js:负责API解析 pdf.wor

    2024年02月13日
    浏览(67)
  • c#和pdf.js实现分片预览pdf

    源码如下: 源代码github地址: https://github.com/LeoMingGit/dotNetPractiseCollect/blob/master/%E5%88%86%E7%89%87%E9%A2%84%E8%A7%88pdf/FileStoreController.cs

    2024年02月12日
    浏览(36)
  • 使用pdf.js展示pdf文件(亲测可用)

    如果只是电脑端,可通过 iframe 标签嵌套预览 ios手机端可通过 a 标签包裹点击跳转预览(安卓端不行) 资料 老版本github地址 全版本地址 正式开始 前往官方地址下载插件包 http://mozilla.github.io/pdf.js/ 此链接可下载最新版本,不兼容老版本浏览器和苹果系统,若需在苹果展示则

    2024年02月11日
    浏览(40)
  • 【PDF.js】PDF.js部署到服务器提示找不到mjs文件

    例如:项目场景:要做一个扫描二维码跳转到网页预览PDF的功能。 本来是直接用iframe标签直接加载PDF文件,结果在Android手机上无法预览,于是看网上有人说用pdf.js可以。不过下载之后放到服务器上一访问总是提示找不到pdf.mjs和viewer.mjs.map这两个文件,提示404,本地可以。 尝

    2024年04月13日
    浏览(45)
  • PDF.js实现按需分片加载pdf文件

    1.服务端配置 分片加载的实现是基于 HTTP-RANGE,即服务端的文件接口必须实现了HTTP-RANGE。 服务端文件接口实现HTTP-RANGE,需要服务端添加如下响应头 2.下载 releases 包 在 mozilla/pdf.js 的github仓库下载最新的 Releases 包 https://github.com/mozilla/pdf.js/releases 这里以 Vue 为例,其他前端框架

    2024年01月17日
    浏览(45)
  • 【vue2中的pdf预览】iframe/pdf.js/vue-pdf

    vue2中预览pdf的方法有pdf.js和vue-pdf等。下面进行简单对比使用方法的介绍。 使用iframe预览pdf 如果后端返回的不是url,那么需要使用 responseType = \\\'blob\\\' 来读取后端传来的内容。 扩展: 同样是使用iframe进行预览,如果有 其他格式 如word/xls/ppt/txt的文件需要预览,可以使用微软解

    2024年02月09日
    浏览(53)
  • selenium利用javascript进行自动打印网页为PDF

    selenium爬取页面的时候有时需要保持页面为PDF格式 并且不能使用pdfkit 模块(有的网址限制必须浏览器打开) 一:导入模块 二:在初始化driver对象的时候设定,浏览器静默保存(即保存时不弹出另存为按钮)和默认保存位置 三:打开所需网页 四:调用js打开打印窗口 修改当前页面标题(因

    2024年02月15日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包