PDFForge — PDF JavaScript 注入与清除工具

PDFForge — PDF JavaScript 注入与清除工具

 次点击
12 分钟阅读

简介

PDFForge 是一款运行在浏览器本地的 PDF JavaScript 处理工具。它可以帮助你向 PDF 文件注入自定义 JavaScript 代码,或清除 PDF 中已嵌入的所有脚本——整个过程无需上传文件到服务器,所有操作均在你的浏览器中完成。

立即体验

点击 [ 立即体验 ] 开始处理你的 PDF 文件。

为什么需要这个工具?

PDF 文件不仅仅是一份静态文档。它支持嵌入 JavaScript 代码,在用户打开文件时自动执行。这个特性可以被用于:

- 自动化办公流程:打开 PDF 时自动弹出提示、跳转页面、触发打印

- 交互式表单:根据用户输入动态计算字段值、验证数据

- 文档保护:限制复制、打印等操作

然而,PDF 中的 JavaScript 也可能被滥用。恶意脚本可能在用户不知情的情况下执行危险操作。因此,能够查看和清除 PDF 中的 JavaScript 变得尤为重要。

PDFForge 正是为这两个场景而生:**注入**你需要的脚本,**清除**你不想要的脚本。

核心功能

1. JavaScript 注入

向 PDF 文件注入自定义 JavaScript 代码,当用户使用支持的阅读器打开文件时自动执行。

示例代码:

javascript

// 显示欢迎提示

app.alert('欢迎阅读本文档!', 3);

// 自动触发打印对话框

app.print();

// 跳转到指定页面

this.pageNum = 0;

2. JavaScript 清除

一键移除 PDF 文件中所有嵌入的 JavaScript 代码,包括:

- OpenAction 脚本(打开时执行的代码)

- 文档级 JavaScript

- Names 字典中的脚本引用

应用场景

- 清理从不可信来源获取的 PDF 文件

- 移除自动执行的干扰脚本

- 还原"干净"的 PDF 文档

- 企业内部文档自动弹出阅读须知

- 电子书打开时显示版权声明

- 表单文档自动聚焦到填写区域

技术特点

完全本地化处理

PDFForge 的所有操作都在你的浏览器中完成。文件不会上传到任何服务器,处理完成后直接下载到本地。这意味着:

- 隐私保护:敏感文档不会离开你的设备

- 无需网络:断网环境下也能正常使用

- 即时处理:无上传/下载等待时间

基于 pdf-lib

PDFForge 使用 [pdf-lib](https://pdf-lib.js.org/) 作为底层 PDF 处理引擎。pdf-lib 是一个纯 JavaScript 实现的 PDF 操作库,支持:

- 创建新的 PDF 文档

- 修改现有 PDF 文档

- 提取文档信息和内容

- 添加/删除页面、文本、图片等

无外部依赖

应用的所有资源均内置于本地:

- pdf-lib 库已下载到本地

- 使用系统字体,无需加载网络字体

- 图标使用内联 SVG,无额外请求

使用指南

步骤一:上传 PDF

拖拽文件到上传区域,或点击选择本地 PDF 文件。支持最大 5MB 的 PDF 文件。

步骤二:选择模式

- JS 注入:在代码编辑器中输入要注入的 JavaScript 代码

- JS 清除:直接进入下一步,无需输入代码

步骤三:处理并下载

点击"注入并下载"或"清除并下载"按钮,等待处理完成后自动下载结果文件。

阅读器兼容性

需要注意的是,PDF 中的 JavaScript 并非所有阅读器都支持:

| 阅读器 | JS 支持 |

|--------|---------|

| Adobe Acrobat Reader | ✅ 完整支持 |

| Foxit Reader | ✅ 大部分支持 |

| Chrome / Edge 内置阅读器 | ❌ 不支持 |

| macOS 预览 | ❌ 不支持 |

| Firefox 内置阅读器 | ❌ 不支持 |

建议:如需测试注入的 JavaScript 效果,请使用 Adobe Acrobat Reader 打开处理后的 PDF 文件。

安全提示

注入功能

- 注入的代码会在支持的阅读器中自动执行

- 请确保注入的代码来源可信

- 不要注入可能侵犯他人隐私或造成损害的代码

清除功能

- 清除操作会移除 OpenAction 和文档级脚本

- 部分嵌入方式可能无法完全清除

- 建议在清除后使用专业工具进行二次检查

技术实现

注入原理

PDFForge 通过修改 PDF 的文档目录(Catalog)实现 JavaScript 注入:

1. 将用户输入的 JavaScript 代码转换为 UTF-16BE 编码的十六进制字符串

2. 创建一个 Action 字典,类型为 JavaScript

3. 将该 Action 设置为文档的 OpenAction

4. 保存并输出修改后的 PDF

清除原理

清除操作通过删除 PDF 目录中的相关条目实现:

1. 删除 OpenAction 条目

2. 检查 Names 字典,删除其中的 JavaScript 条目

3. 如果 Names 字典为空,一并删除

4. 保存并输出清理后的 PDF

结语

PDFForge 是一个轻量、安全、易用的 PDF JavaScript 处理工具。无论你是需要为 PDF 添加自动化脚本,还是需要清理不可信的 PDF 文件,PDFForge 都能帮你快速完成任务——而且,你的文件永远不会离开你的设备。

---

立即体验

点击 [ 立即体验 ] 开始处理你的 PDF 文件。

© 本文著作权归作者所有,未经许可不得转载使用。