通常来说,要阅读PDF文档,我们通常需要专门的PDF阅读器软件。然而,有了PDF.js,我们可以在浏览器中直接查看和处理PDF文档,无论是进行在线浏览、存档还是其他基于PDF的功能,都可以轻松实现。下面给大家介绍一款免费开源的JavaScript读取、显示PDF文档的工具库——PDF.js

什么是PDF.js
PDF.js是一个使用HTML5技术的前端JS工具库,使得网页能够读取、解析和显示PDF文档。这个项目由知名的Mozilla组织开发和维护,没错,就是那个开发了火狐浏览器的Mozilla。因此,PDF.js也内置在Firefox的19+版本中,成为火狐浏览器的默认PDF处理工具。
PDF.js免费开源说明
Mozilla 是一个非营利性组织,始终致力于推动浏览器的良好发展。PDF.js 也不例外,是一个免费开源的项目,其源码基于 Apache 2.0 许可托管在 Github 上。任何人都可以免费下载和使用 PDF.js,将其用于商业项目也是完全可以的。
PDF.js的技术特性
1、功能强大,内置了很多实用的 api,几乎可以对 PDF 文件“为所欲为”;
2、兼容性超好,不仅支持现代浏览器,对于旧版本的浏览器也有很好的支持;
3、易于上手,官方也提供了很多代码例子。
PDF.js代码上手
npm 安装的方式:
npm i pdfjs-dist -S
项目demo
<template>
<div class="hello">
<input
type="file"
name="file"
id="file"
accept="application/pdf"
single
placeholder="请选择pdf文件"
@change="handleFile"
/>
<canvas id="viewer" ref="viewer" :width="width" :height="height"></canvas>
</div>
</template>
<script>
import { getDocument } from "pdfjs-dist/webpack"; // 注意这里的引入方式
// 省略无关代码...
// methods:
handleFile(e) {
const reader = new FileReader();
reader.onload = (evt) => {
this.init(evt.target.result);
};
reader.readAsDataURL(e.target.files[0]);
},
async init(path) {
// 读取pdf
let pdf = await getDocument(path).promise; //返回一个pdf对象
const page = await pdf.getPage(0); // 获取第一页
const viewport = page.getViewport({ scale: 1 });
const textContent = await page.getTextContent();
console.log(textContent.items); // 页面的文章内容在这
const context = this.canvas.getContext("2d");
// 设置canvas的尺寸
this.width = viewport.width;
this.height = viewport.height;
await page.render({ canvasContext: context, viewport: viewport }).promise; // 渲染第一页内容
},
</script>
除了提取文章和转成图片,PDF.js还具有许多强大的功能。例如,它可以实现页面导航,在预览时加入缩放、滚动、旋转和手写等注释,以及实现打印、另存为等操作。
ReadyBase官网:文档可导出为PDF、高分辨率图片等多种格式
TinyEditor:华为云OpenTiny团队开发的一款免费富文本编辑器
Molku Ai:支持从PDF、Excel、Word、PowerPoint甚至带有手写内容中提取数据
一款智能转换扫描书籍PDF为Markdown/EPUB的AI工具——PDF-Craft
一个提升知识整理与协作效率的AI智能知识管理平台——IKI AI
上面是“推荐一款免费开源的JavaScript读取、显示PDF文档的工具库——PDF.js”的全面内容,想了解更多关于 前端知识 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_13758.html
workflows工作流
葡萄庄园白葡萄酒ComfyUI工作流
一个威武雄壮的战士ComfyUI工作流
嘴唇丰满的漂亮女人
荷塘月色ComfyUI工作流
一辆老式灵车在黑暗中从雾中出现ComfyUI工作流
《翅膀之王:鸡的团契》海报ComfyUI工作流
一辆机器人虎狮高端混合动力车ComfyUI工作流
树枝上一只色彩斑斓的小鸟
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

js实现下雪特效
3d空间行走效果
一个包含老黄历、佛历、道历、星宿等数据的日历网站
一起去看流星雨(代码)
css3结合svg做一个动态广告
css3卡片动态滑动效果
css3动画loading效果
黑客入侵效果代码











