跳转到主要内容
更新记录

版本更新记录

从 V1.0 的 7 项功能,到 V6.5 扩展至 37 项。每一次更新,都来自大家的反馈与建议。

V6.5

最新版本

新增

  • 🔐 PDF 加密:支持为 PDF 文件添加打开密码和权限密码,可限制打印、复制、编辑、注释等操作。基于 @cantoo/pdf-lib 实现,加密后文件内容和排版保持不变,使用 useObjectStreams: false 确保最大兼容性。
  • 📑 按书签炸开增加序号命名:在每个拆分文件前按顺序添加序号,序号位数根据书签总数自动调整(如 35 个书签时自动补零为 01、02…),确保文件按书签顺序正确排列。

优化

  • PDF 解密模块大幅改进:利用 @cantoo/pdf-lib 的带密码加载能力,解密后文件保留原始矢量文字、书签和元数据,体积几乎不变,不再需要逐页光栅化重编码,彻底解决此前解密后清晰度下降的问题。
  • 加密模块交互优化:权限设置区域根据权限密码输入框状态自动启用/禁用(无权限密码时变灰并提示「需设置权限密码后才生效」);打印权限改为单选按钮,操作更直观。
  • 顶部标题栏:添加跳转和动画效果,提升视觉体验。
  • 主页交互反馈:在主页时再次点击 Logo 或「所有工具」按钮,页面会轻微抖动,提示用户已在主页。
  • 全站 UI 图标升级:将所有 Emoji 图标替换为 SVG 图标,确保在国产信创系统(麒麟、UOS)上正确显示,不再出现方框或乱码。
  • PDF 扁平化新增页面大小选项:可选择原始尺寸统一为 A4,修复此前扁平化后页面被放大的问题。
  • 添加页码支持自定义颜色:页码颜色可自由指定,满足不同文档的视觉需求。

修复

  • 修复 PDF 加密模块因 userPasswordownerPassword 混淆导致「只设权限密码却要求打开密码」的问题。
  • 修复 PDF 解密模块因加载选项格式不兼容 @cantoo/pdf-lib 导致报错的问题。
  • 修复加密模块打印权限读取方式(由下拉框改为单选按钮)。
  • 修复从其他模块返回主页时错误触发抖动的问题。
  • 修复页面重排、页面旋转·批量、页面旋转·逐页这 3 个模块中,点击图片放大镜后不显示大图的 Bug。
  • 修复 PDF 扁平化模块处理后页面大小改变的问题(页面尺寸被错误使用为渲染像素尺寸)。
  • 修复 PDF 压缩模块压缩后页面大小改变的同类问题。
  • 修复添加页码模块预览与实际生成时颜色不一致的问题。

文字与交互改进

  • 将界面中的「上传 PDF」统一改为「打开本地 PDF」,「下载」改为「保存」,避免用户误以为文件需要上传到服务器,进一步强化纯离线、零上传的产品定位。

依赖更新

  • 替换 pdf-lib.min.js@cantoo/pdf-lib:新增文档加密/解密、带密码加载已加密 PDF、SVG 绘制等能力,并持续合并原 pdf-lib 的 PR 和 bug 修复,兼容性更佳。

V6.0 · 35 项版

新增(在 V5.0 基础上扩展至 35 项)

  • 📄 生成空白 PDF:按指定页数 / 尺寸生成纯空白 PDF,便于拼接占位。
  • 📄 补齐空白页:批量补齐,使每个文档页数达到指定值(如装订对齐)。
  • ✂️ 裁剪白边:自动检测并裁掉页面四周的空白边距,输出紧凑版 PDF(可设留白阈值与边距)。
  • 📏 统一页面大小:将不同尺寸的页面统一为同一页面尺寸(A4 / 自定义)。
  • 🪪 删除书签:一键移除 PDF 大纲(书签树),不改变页面内容。
  • 🔢 Bates 编页:按法律文书惯例为每页添加连续 Bates 编号(前缀 + 编号 + 后缀)。
  • 🪡 扇形骑缝章:沿订口生成沿中缝分布的扇形骑缝章效果,常用于合同骑缝防伪。
  • 📄 PDF 扁平化:将表单字段、注释、图层合并为静态内容,防止被二次编辑。
  • 🖨️ 模拟扫描件:将清晰 PDF 处理成类似真实扫描件的效果(噪点 / 模糊 / 阴影等),用于演示或脱敏。
  • 🖊️ 批注:在 PDF 上添加高亮、下划线、文本框等批注。
  • 🧭 倾斜校正(Deskew):自动或手动检测页面倾斜角度(±10° 内投影直方图法自动搜索,或 0.1° 步进手动微调),校正后自动裁剪黑/白边并居中。
  • 🟦 工程蓝图:将任意 PDF 转换为蓝图风格(蓝底白线),支持彩色扫描件、灰度图纸、黑白线条图自动适配。可调节背景蓝深度和线条亮度,可选锐化增强模糊图纸清晰度,右侧实时预览所见即所得。转换后文件为纯图像,文字不可选中/搜索。

优化

  • 界面细节与样式微调(阴影、圆角、过渡曲线),并新增 prefers-reduced-motion 降低动效支持。
  • PDF 压缩支持保留原书签:压缩后自动重建完整大纲树,支持多级嵌套书签,点击目录可跳转到对应页面。使用底层 PDF 对象构建,兼容所有 pdf‑lib 版本及 Acrobat、Chrome 等主流阅读器,已通过 Acrobat 兼容性专项验证。
  • PDF 压缩保留书签样式:压缩模块重建大纲时,现已同步保留书签的颜色、加粗、斜体样式,与重建大纲模块一致。
  • 图片转 PDF 支持混合上传:可同时选择图片与 PDF,上传的 PDF 会自动逐页展开并插入到预览列表(按选择顺序排列),与图片统一拼合输出。
  • 常规拆分「多组范围」改为多行文本输入框,每行一组页码范围,操作更直观。
  • 蓝图晒印新增分辨率选项(最高 12× / 864 DPI),满足工程打印需求。
  • 图片转 PDF 文件名排序改为自然顺序(如 1,2,…,10,11,12 而非字典序 1,10,11,12,2,…),升序/降序更准确。
  • 修复 PDF 转图片中文(含数字)不显示的问题:此前离线环境下 CID 字体(如 12306 电子发票)因 CMap 解析失败导致整段文字丢失。现内置 cmaps-data.js(169KB,含 UniGB-UCS2-HAdobe-GB1-UCS2GBK-EUC-HGBK2K-HGBKp-EUC-H 5 个简体横向核心 CMap),并通过自定义 CMapReaderFactory 配合 useWorkerFetch: false,由主线程直接读取内嵌 CMap 数据,彻底实现离线中文渲染,无需联网。
  • 内存与性能优化(针对大文件场景):提取图片模块重新加载时自动释放上次的 ObjectURL,避免连续处理多文件内存累积;PDF 转图片改为按需重渲染,不再常驻全部全分辨率 Canvas,几百页大文件内存大幅下降;大文件加载去掉冗余的 ArrayBuffer 复制,峰值内存减半。
  • 多项界面细节调整:头部跨平台提示优化、导航栏自适应、按钮样式统一等。

修复

  • 修复常规合并模块加载损坏 PDF 时静默失败的问题,增加错误文件提示弹窗。
  • 修复按书签拆分/炸开模块无法识别具名目标(字符串 dest)书签页码的问题。
  • 修复图片水印模块输出 PDF 时透明度丢失及旋转时图片变形的问题。
  • 修复提取图片模块因兼容性语法导致部分浏览器无法显示图片的问题。
  • 修复页面拼版、添加图章等多个模块的细节错误。
  • 修复页码范围输入的容错问题:非法格式(如 5--31-2-3)、多余/连续逗号(如 1,,5)、非数字或小数页码均会弹窗提示要求重新输入;已支持全角逗号 自动转半角。
  • 修复图片转 PDF 预览中长图遮挡文件名的问题,文件名现固定显示在每张图片下方、始终可见。
  • 倾斜校正模块修复若干运行期问题:修复 fileToArrayBuffer 未定义、buf 变量作用域错误、getImageData 性能提示(willReadFrequently);参考线改为覆盖整个预览框并可调粗细;自动检测与「立即校正」拆分为两步操作。
  • 修复若干模块体验细节与样式问题,持续提升稳定性。
  • 拆分对开页稳定性修复:分割线拖到页面边缘(比例接近 0 或 1)时,切割出的某一半宽/高为 0,原代码会因 canvas.toBlob 返回 null(导致 seg.blob.arrayBuffer() 报错)或 drawImage(0) 抛异常而崩溃。现改为在源头拦截 0 尺寸子画布(不进入裁剪、也不 clamp 成 1px 废页),边界处自动跳过该半页;循环内保留 null 兜底,彻底避免崩溃。

V5.0

新增

  • 📝 文档信息:查看和修改 PDF 的标题、作者、主题、关键词等元数据,支持一键清空,不改变文件内容和排版。
  • 💥 按书签炸开:将 PDF 中所有书签(不论层级)拆分为独立文件,支持自定义文件名规则(原文件名前缀、书签名、保留层级、同名自动编号)。
  • 🔃 页面旋转 · 逐页:上传 PDF 后以缩略图形式展示所有页面,在缩略图上直接点击旋转按钮,每页独立选择旋转方向,实时预览效果。
  • 💮 添加图章:上传图章图片,手动拖动定位到页面任意位置,支持设置图章宽度、透明度和旋转角度,每页独立记忆位置。
  • 📐 页面拼版:将多页 PDF 合并到一页上,支持自定义拼版行列数(如 2×2)和排列顺序(横向优先 / 纵向优先)。
  • 🖼️ 图片水印(与文字水印独立):上传 PNG/JPG 图片作为水印,支持手动拖动和平铺,可调缩放、透明度和旋转角度。
  • 📸 提取图片:从 PDF 中提取所有嵌入的位图,支持单张下载或打包为 ZIP。
  • 🎨 页面滤镜:对扫描件进行灰度、黑白二值化、锐化、反相、亮度/对比度调整,多种滤镜可叠加使用,增强清晰度。

修复

  • 修复交替合并支持多个文件轮流穿插时清空按钮报错的问题。
  • 修复发票类 PDF 转图片时部分文字(如印章、表单文本)丢失的问题(增加 annotationMode: ENABLE 渲染注释层)。
  • 修复常规拆分「页码范围」模式下载格式不正确的问题。
  • 修复图片转 PDF 模块图片上传后顺序随机的问题,新增拖拽排序和批量移动。
  • 修复添加水印时图片旋转角度与预览不一致的问题。

优化

  • 界面全新改版:新增「所有工具」主页,按功能分类(页面操作、格式转换、增强功能)展示卡片,点击卡片进入功能模块,顶部导航栏动态切换。
  • 图片转 PDF 全面升级:新增按文件名升序/降序排列;新增自定义页边距(上/下/左/右)和居中选项,支持一键设为 0 边距或国标边距;新增缩略图旋转按钮(逆时针 90°、顺时针 90°、旋转 180°);新增大图预览功能。
  • 常规拆分新增多组范围:支持用竖线 | 分隔多组范围(如 1,2|3-5|6),一次拆分出多个文件并打包为 ZIP。
  • 页面重排新增大图预览:点击缩略图右上角放大镜,弹出高清大图,支持键盘 ← → 翻页、Esc 关闭。
  • 页面旋转新增预览:上传 PDF 后自动显示所有页面的缩略图,支持大图预览和键盘翻页。
  • 添加页码增加起始页码:支持从任意数字开始编号。
  • 文字水印/图片水印支持手动拖动:在预览画布上拖动水印即可调整位置,所见即所得。
  • 全角逗号自动转换覆盖更多输入场景。
  • 各模块增加简洁的功能说明。

V4.0

  • 新增:页面倒序、添加页码、添加水印、PDF 解密。
  • 修复:元数据丢失、keywords 类型错误、空白页报错、图片顺序随机等问题。
  • 优化:拖拽排序、批量移动、快捷键、界面布局等。

V3.0

  • 新增:按书签拆分、PDF 压缩。
  • 优化:3 个 HTML 合并为 1 个、拆分下载改为 ZIP 打包、界面全新改版。

V1.0

  • 首次发布:合并、拆分、旋转、删除、PDF 转图片、图片转 PDF、页面重排、拆分对开页、交替合并。