基于 PDF.js 开发了 PDF 批注注释插件库,支持多种批注类型,支持写入批注到pdf中并保存,为目前纯前端 JavaScript 最佳实现方案,完美支持 老版浏览器、手机、平板 等移动端设备,仅使用 PDF.js dist 版本,可以方便集成到任意项目中。

Demo及源码

Demo和源码在:https://demos.libertynlp.com
基于 pdf.js-dist 开发的批注注释插件库,可以方便集成到任意项目中。

功能演示视频:https://www.bilibili.com/video/BV1Le4y1c7Vy

功能模块

① 下载文件 : 把批注标记保存到pdf文件中
② 文本高亮 : 高亮滑选的文本
③ 文本下划线 : 给滑选的文本增加下划线
④ 文档截图: 截图PDF页面并保存为PNG图片
⑤ 注释列表 : 打开注释列表并编辑 (复制/删除/前往)
⑥ 选中对象 : 选中批注对象并修改 (位置/X轴缩放/Y轴缩放/旋转)
⑦ 选中对象 : 选中批注对象并修改 (颜色/角度/大小/位置/透明度)
⑧ 插入图片 : 插入本地图片如电子签名
⑨ 画笔工具 : 在当前页面使用画笔工具自由绘制
⑩ 文本框工具 : 给当前页面添加可输入文本框
⑪ 多边形工具: 增加并编辑 箭头/矩形/圆形
⑫ 编辑注释: 复制、删除和前往批注
⑬ 导出注释 : 导出完整结构Json标注,可保存到服务器并回显
⑭ 导入标注 : 导入完整结构标注回显
⑮ 下载标注 : 导出当前文件标注和评论为txt格式文档
⑯ 切换语言 : 切换提示语言至英文
⑰ 帮助文档 : 打开帮助文档

功能演示

1-自动高亮和下划线: 将选中文本高亮或者添加下划线,支持通过触屏来高亮/下划线文字,完美支持手机、平板等移动端设备。

2-插入图片: 插入图片,例如添加电子签名、公章等。

3-编辑对象: 选中批注可修改位置、X轴缩放、Y轴缩放和旋转。

4-添加文本框并编辑文字: 添加文本框,双击后可编辑文字,支持缩放变形后仍可编辑。

5-编辑对象属性: 选中批注可修改填充色、边框色、背景色、透明度和删除。

6-添加并编辑多边形: 添加并编辑箭头、矩形框、圆形等多种多边形。

7-画笔绘制并自动平滑: 激活画笔自由绘制并自动平滑路径。

8-屏幕截图: 添加截屏框,修改位置大小并编辑截屏批注,确认后截屏当前位置图像并保存为PNG图片。

9-打开及操作批注列表: 打开批注列表并操作批注,包括前往批注并闪烁、复制文本、增加评论和删除单个批注、清除页面批注、清除文档批注。

10-导出及导入批注: 导出批注为JSON格式,可被保存至数据库并重载至PDF文件;从JSON文件中导入批注并显示在PDF上。

11-切换提示语言: 切换操作按钮及提示的语言,目前支持中文和英文,支持拓展其他语言包。

12-批注写入并下载文档: 将所有批注写入PDF并下载文档。

总结

基于 pdf.js-dist 完成的PDF批注注释插件库,为目前最佳解决方案,可以在 Web端纯JavaScript 实现pdf的批注和导出, Demo和源码在 https://demos.libertynlp.com 期待你的访问。

欢迎持续关注,将会持续更新pdf.js开发教程,任何pdf.js定制开发需求欢迎随时通过邮箱:weichaoxu1998@gmail.com 联系我。

【源码】PDF.js批注注释插件库(纯JS). 创建和保存PDF批注(PDF 高亮/签名/插图/截屏/文本框/画笔/多边形)-pdf.js相关推荐

  1. Soul网关源码阅读(九)插件配置加载初探

    Soul网关源码阅读(九)插件配置加载初探 简介     今日来探索一下插件的初始化,及相关的配置的加载 源码Debug 插件初始化     首先来到我们非常熟悉的插件链调用的类: SoulWebHa ...

  2. matlab exm,exm 《Experiments with MATLAB》这本书的程序源码,附中文注释,简单易懂,是学习 238万源代码下载- www.pudn.com...

    文件名称: exm下载 收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 1154 KB 上传时间: 2014-11-21 下载次数: 6 提 供 者: 刘晏池 详细 ...

  3. 直播软件源码如何实现直播flash插件

    直播软件源码如何实现直播flash插件 项目搭建 原有的项目是用的layui+jq搭建.现在将大屏部分独立出来: 开心到飞起,哈哈哈 现在大屏单独出来做,我采用了react + react-mobx; ...

  4. C语言实现中国象棋(Qt实现界面,源码下载,详细注释,易移植)

    前言:中国象棋的规则很多人都懂,用C语言做一个中国象棋游戏,其要点是怎么把抽象的规则变成形象.具体的代码.本项目提供详细的实现思路,源码附带大量的注释说明,源码逐步地实现了每一种棋类的走棋规则.吃棋规 ...

  5. Manim文档及源码笔记-CE文档-示例库3使用Manim绘图

    Manim文档及源码笔记-CE文档-示例库3使用Manim绘图 参考原文: Manim Community Edition Example Gallery 前言 笔记随想: 暂未发现官方中文版,自己实 ...

  6. 小程序源码:最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题-多玩法安装简单

    这是一款题库微信小程序源码 支持积分商城.自定义试题及导入.知识点分类.模式试题考试.流量主等 首页模块:专项刷题 .题型刷题.乱序刷题.我的收藏.我的错题.未作习题.刷知识点.考前必背 另外还有更多 ...

  7. C# OPC UA 服务器端源码 该源码未使用任何第三方支持库,纯代码实现。

    C# OPC UA 服务器端源码 该源码未使用任何第三方支持库,纯代码实现. :37199665996469190FaxNetApi

  8. 【Filecoin源码仓库全解析】第二章:如何创建账户钱包并获取FIL Mock代币

    欢迎大家来到第二章,经过 前章<[Filecoin源码仓库全解析]第一章:搭建Filecoin测试节点>的内容阅读后,我们应该已经具备在自己的机器上部署Filecoin测试节点的能力,本章 ...

  9. Tensorflow 2.x(keras)源码详解之第十章:keras中的模型保存与加载(详解Checkpointmd5模型序列化)

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

最新文章

  1. 面试官:你说你熟悉jvm?那你讲一下并发的可达性分析
  2. excel中使用CORREL函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性
  3. Oracle日期处理
  4. 每日一皮:当最棒的程序员遇见了 Bug ...
  5. pythondataframe如何替换值_如何将pandas dataframe中的字符串值替换为整数?
  6. Centos7 安装和配置MySQL5.7
  7. WordPress文章ajax,使用ajax在WordPress后台删除文章方法
  8. heroku_Heroku Connect的美丽:简化数据库同步
  9. C++容器(一)——vector
  10. navicat 连接mysql is not allowed to connect to this mysql server
  11. JavaSE基础——构造方法 对象的创建步骤 static关键字
  12. LeetCode详解C++版
  13. 96 不同得二叉搜索树 明安图法 动态规划法
  14. 利用win自带功能让处于同一局域网的两个电脑之间互传文件(速度和本地磁盘间互传相同)
  15. java复数类求模_java中实现复数求模
  16. js中动态获取页面的高度和宽度的方法总结
  17. 八旬老人守护病妻24年不弃 称爱就要守在一起
  18. Unity个人游戏开发总结
  19. 我推荐这几个好玩有趣的小网站
  20. 获得文件绝对路径的小技巧

热门文章

  1. 华为云设计语言_如何评价华为软件开发云?
  2. 基于运营商的室内定位技术应用及探究--新导智能
  3. Mybatis中的关系映射(一对一,一对多,多对多)
  4. Android11 WMS 之 AppTransition
  5. linux内核4.14.10查看网卡型号,Linux中查看硬件信息命令
  6. linux指令_刘世民
  7. Quartus II 13.0 添加器件库教程(包含下载地址)
  8. Karl Klein 2D 56 K30-2 W OL/S 45W/2750RPM
  9. 基于SVD的推荐系统实现
  10. Linux读取设备信息代码编写