Decentralization? We're still early!

BentoPDF:极简主义者的开源 PDF 预览与管理利器

  • BentoPDF:极简主义者的开源 PDF 预览与管理利器

    發布人 Brave 2026-01-12 12:29

    在处理海量数字化文档的今天,许多 PDF 阅读器变得越来越臃肿。Adobe Acrobat 的安装包已膨胀至 数百 MB 级别,启动时大量后台进程占据系统资源;国产 PDF 软件则频繁弹窗广告、强制捆绑安装。即便是曾被社区推崇的自托管方案 Stirling PDF,也因被曝出默认启用追踪像素(Tracking Pixel)和 Cookie 弹窗等隐私争议,引发了大量用户的不满。 如果你正在寻找一款轻量化、响应迅速且设计精美的工具,BentoPDF 是一个值得关注的开源选择。


    什么是 BentoPDF

    BentoPDF 是一款专注于"隐私优先"和"简约美学"的开源 PDF 工具箱。它的命名灵感来源于日式"便当盒"(Bento Box),寓意着将各种功能整齐、高效地组织在一个紧凑的界面中。

    与许多人的初始印象不同,BentoPDF 并非一个传统意义上的"PDF 阅读器"——它是一个功能全面的 PDF 工具箱(Toolkit)。 它内置了 80+ 项 PDF 处理工具,涵盖合并、拆分、压缩、转换、OCR 识别、表单填写、电子签名等几乎所有主流需求。所有这些操作都完全在用户的浏览器端(Client-Side)完成,文件永远不会离开你的设备——这是其最核心的架构设计理念。

    该项目托管在 GitHub 开源社区(github.com/alam00000/bentopdf),由开发者社区驱动。截至 2026 年 2 月,BentoPDF 在 GitHub 上已获得超过 11,300 颗星标(Stars)和 879 个复刻(Forks),最新发布的版本为 v2.2.0(2026-02-09)。项目采用 AGPL-3.0 许可证授权。

    📌 一句话定位:BentoPDF 是一个可自托管的、隐私优先的、完全在浏览器端运行的 PDF 处理全功能工具箱。


    核心功能与亮点

    功能一:极致的视觉设计与交互体验

    BentoPDF 采用了现代化的 UI 设计语言,支持深色模式(Dark Mode)。其界面摒弃了传统 PDF 软件(如 Adobe Acrobat)中密密麻麻的工具栏,将视觉重心完全归还给文档内容。多家科技媒体在评测中用了"truly wonderful"来形容其界面,认为它看起来更像一款高端付费应用,而非一个免费的开源工具。

    BentoPDF 的交互设计尤其值得注意

    • 📐 采用智能预览(Intelligent Preview)机制,操作前即可预判结果
    • 🖱️ 支持直观的拖拽式页面重排(Drag-and-Drop Page Reordering)
    • 🔢 支持通过页码字符串进行快速重排,例如输入 3,1,2,5-4 即可完成复杂的页面顺序调整
    • 🌙 原生深色模式,长时间工作不易视觉疲劳

    功能二:80+ 全功能 PDF 工具箱

    BentoPDF 远不止"阅读"这一个功能。它提供了横跨 6 大类别、75+ 工作流节点的工具矩阵,以下按功能域分类列举:


    📎 合并与拆分

    工具说明
    合并 PDF将多个 PDF 文件合并为一个,自动保留原始书签
    拆分 PDF按页码范围或固定间隔将文档拆分为多个文件
    提取页面将指定页面保存为独立的新 PDF
    交替合并从多个 PDF 中交替抽取页面合并,适用于双面扫描件的正反页合并

    🔄 页面组织与编辑

    工具说明
    页面重排拖拽或输入页码字符串快速调整页面顺序
    旋转页面旋转单个或全部页面,支持任意自定义角度
    删除页面选择性移除不需要的页面
    复制页面复制特定页面到指定位置
    添加空白页在指定位置插入空白页
    N-up 合并将多个页面合并到单张纸上(如 2-up、4-up 排版)
    小册子排版自动重排页面顺序,适配双面打印后折叠装订成册
    页面分割将大尺寸 PDF 页面拆分为多个小页面用于打印

    🖊️ 编辑与标注

    工具说明
    PDF 编辑器直接编辑 PDF 中的文本内容
    书签编辑添加、修改、删除文档书签(大纲/目录)
    PDF 表单填写填写已有的 PDF 交互式表单
    创建表单从零创建或基于现有 PDF 生成可填写表单,支持文本框、复选框、下拉菜单、单选按钮、签名域等,完全兼容 PDF 标准
    电子签名在 PDF 上添加电子签名
    添加水印添加文字或图片水印以保护文档
    添加页码可自定义格式的页码编排
    添加页眉页脚自定义页眉和页脚内容

    🔀 格式转换

    BentoPDF 支持极为广泛的格式互转能力,这也是其在 2026 年 1 月大版本更新中重点增强的领域

    转换方向支持格式
    ➡️ 转为 PDFWord (.docx)、Excel (.xlsx)、PowerPoint (.pptx)、OpenOffice 格式 (.odt/.ods/.odp)Apple Pages (.pages)、Markdown (.md)、HTML、EPUB、MOBI、FB2、CBZ、Email、JSON、XML、SVG、XPS 等
    ⬅️ PDF 转为Word、文本文档、电子表格、Markdown
    🖼️ 图片相关PDF ➡️ JPG / PNG / WEBP / SVG;JPG / PNG / WEBP / GIF / TIFF / PSD / HEIC / JP2 ➡️ PDF
    📦 归档格式支持转换为 PDF/A-1b、PDF/A-2b、PDF/A-3b 归档标准格式

    💡 特别说明Markdown 转 PDF 功能现已支持 Mermaid 图表渲染,这意味着你可以将包含流程图、时序图等可视化元素的 Markdown 文件直接生成为排版精美的 PDF 文档。


    🔍 OCR 与智能识别

    BentoPDF 集成了 OCR(光学字符识别)功能,能够将扫描件或基于图片的 PDF 转换为可搜索、可选择文本的文档。开发团队在 v2.x 版本中对 OCR 引擎进行了全面重构:

    • ✅ 支持拉丁语系和**非拉丁语系(如中文、日文、阿拉伯文等)**的文本识别
    • 改进了基于宽度的字体大小计算,确保识别后的文本对齐更加精准
    • 支持自动校正扫描倾斜页面(基于 OpenCV 的自动调平)

    🤖 AI 就绪(AI-Ready)工具

    这是 BentoPDF 紧跟 AI 时代浪潮推出的前沿功能模块:

    • 📊 将 PDF 导出为结构化 JSON 数据
    • 📋 提取表格并导出为 CSV / Markdown / JSON 格式
    • 🧠 "Prepare PDF for AI"工具:专门为 RAG(检索增强生成)和 LLM(大语言模型)工作流优化文档预处理

    这组工具使得 BentoPDF 不仅是传统的文档处理工具,更成为了 AI 数据准备流水线中的关键一环


    🔒 安全与保护

    工具说明
    加密 PDF为 PDF 设置密码保护
    解密 PDF移除已有的密码限制
    元数据清除专业级元数据剥离工具,可清除作者、地理位置、编辑历史等隐藏信息
    PDF 修复内置强大的 PDF 修复引擎,可修复损坏的文档
    扁平化处理将表单字段和注释嵌入为不可编辑的静态内容
    颜色调整调整 PDF 页面的亮度、对比度、饱和度、色温等参数(v2.2.0 新增)
    扫描效果为 PDF 添加仿真扫描/复印效果(v2.2.0 新增)

    功能三:可视化工作流引擎

    BentoPDF 的工作流(Workflow)功能是其区别于同类工具的重要特性之一。 它不仅仅是将工具简单堆砌在菜单中——用户可以通过可视化的节点编排方式(Node-Based Workflow),将多个 PDF 处理步骤串联成自动化的工作流:

    • 🧩 从分类工具箱中搜索并拖拽节点到画布
    • 🔗 连接不同节点,定义数据流向
    • ⏱️ 实时查看每个节点的执行状态(运行中 / 已完成 / 错误)
    • 💾 支持保存 / 加载工作流模板,并以 JSON 格式导出导入

    📌 应用场景示例:一家律师事务所每天需要处理大量合同文件——先将扫描件 OCR 识别为可搜索文本,然后清除元数据,最后加密并导出。这个流程可以保存为工作流模板,一键复用。


    功能四:极速的加载性能

    BentoPDF 的所有文件处理都在浏览器中完成,不需要上传和下载的等待时间,这从根本上消除了网络延迟。 具体而言,其性能优势源于以下技术基础:

    • ⚡ 基于 WebAssembly(WASM) 运行成熟的 C++ PDF 处理库,性能接近原生应用
    • 采用分块处理(Chunked Processing)技术,将大文件分解为小段逐步处理,有效避免浏览器内存溢出和崩溃
    • ⚡ 不加载沉重的编辑组件和后台服务,启动和操作均极为迅速

    相比之下,Stirling PDF 的 Docker 镜像体积通常在 1GB 以上,闲置状态下也会消耗数百 MB 内存。而 BentoPDF 的 Docker 镜像 不到 10MB,内存占用大约只有 Stirling PDF 的 十分之一


    功能五:开源与跨平台

    作为开源项目,BentoPDF 具有高度的透明度。开发者可以根据自己的需求定制功能,而普通用户则可以享受社区驱动带来的持续更新和安全性。

    BentoPDF 的跨平台能力尤为出色——由于它完全运行在浏览器中,因此天然支持所有操作系统:

    平台支持方式
    🪟 Windows通过任意现代浏览器访问
    🍎 macOS通过任意现代浏览器访问
    🐧 Linux通过任意现代浏览器访问
    📱 iOS / Android通过移动端浏览器直接使用
    🖥️ 自托管服务器Docker / Docker Compose / Kubernetes(Helm Chart)
    ☁️ 云平台Netlify / Vercel / GitHub Pages / Railway / Zeabur 等(免费层即可部署)
    🍓 Raspberry PiDocker 镜像仅 10MB,树莓派即可流畅运行

    技术架构深度解析

    理解 BentoPDF 的技术架构,对于评估其安全性和适用场景至关重要。 下面从架构哲学和技术栈两个维度进行剖析。

    架构哲学:零服务器,零数据触达

    BentoPDF 实现了一种被称为**"架构级隐私"(Architectural Privacy)** 的设计范式——隐私保护不是通过策略或承诺实现的,而是通过技术架构本身来保证的:

    ┌─────────────────────────────────────────────┐
    │               用户的浏览器                     │
    │  ┌─────────┐  ┌──────────┐  ┌────────────┐  │
    │  │ 选择文件 │→│ WASM 处理 │→│ 下载结果文件 │  │
    │  └─────────┘  └──────────┘  └────────────┘  │
    │           ⬆️ 全部在本地完成 ⬆️                 │
    └─────────────────────────────────────────────┘
                  ❌ 无上传  ❌ 无服务器  ❌ 无数据库
    • 📌 没有后端服务器:服务器仅负责分发静态网页文件(HTML/CSS/JS),不参与任何文件处理
    • 📌 没有 API 端点:不存在文件上传接口,服务器从技术层面无法接触用户文件
    • 📌 没有数据库:应用是完全无状态的(Stateless),没有需要备份或保护的数据存储
    • 📌 页面关闭即清除:所有数据仅存在于浏览器内存中,关闭或刷新页面后自动清除

    💡 这意味着什么? 对于法律、金融、医疗等对数据合规有严格要求的行业,BentoPDF 从架构上就解决了最大的合规难题——服务器在技术上不可能看到文件内容。 官方声称其设计符合 HIPAA、GDPR 和 CCPA 的合规要求。

    技术栈概览

    BentoPDF 的技术栈经历了从原始到现代的演进。 项目最初使用 HTML + CSS + 原生 JavaScript 开发,随着规模增长迁移到了现代化技术栈:

    层级技术选型说明
    构建工具Vite现代前端极速构建工具
    编程语言TypeScript提供类型安全和更好的开发体验
    样式框架Tailwind CSS快速一致的 UI 开发
    PDF 操作pdf-lib客户端 PDF 文档操作
    PDF 渲染pdfjs-dist (PDF.js)Mozilla 开源的浏览器端 PDF 渲染引擎
    PDF 生成PDFKit创建和编辑 PDF 文档
    PDF 修复qpdf-wasm基于 WASM 的 PDF 检查、修复和转换
    图片裁剪Cropper.js直观的图片裁剪功能
    离线支持Service Worker实现离线功能和静态资源缓存

    📌 三层 PDF 处理策略:BentoPDF 采用 pdf-lib(操作)+ pdfjs-dist(渲染)+ PDFKit(生成)的三层架构,实现了完全在浏览器端的 PDF 全生命周期处理能力。

    关于 WASM 模块的加载方式:BentoPDF 不会将 AGPL 授权的处理库打包在源码中,而是预配置了 CDN(jsDelivr)地址,在运行时按需加载。这意味着零配置即可使用全部功能。对于需要内网部署(Air-Gapped)的场景,可以通过环境变量或高级设置界面自定义 WASM 模块的来源地址。

    插件化架构:BentoPDF 的每个工具都是独立的自包含模块(Self-Contained Module),通过 toolLogic 注册系统和 config/pdf-tools.ts 配置文件进行路由。这种设计使得新增工具无需修改核心逻辑,社区贡献者可以方便地扩展功能。


    为什么选择 BentoPDF 而非传统软件?

    对比主流竞品

    要理解 BentoPDF 的定位优势,需要将其放在更广泛的 PDF 工具生态中审视:

    维度BentoPDFAdobe Acrobat ProStirling PDFiLovePDF
    💰 价格完全免费约 $240/年订阅免费(开源)免费增值(有限制)
    🔒 隐私架构级保障,文件不离开设备云端处理服务器端处理文件上传至第三方服务器
    📦 部署Docker < 10MB桌面安装 ~500MB+Docker ~1GB+SaaS 云服务
    🧰 工具数80+最全50+20+
    🖥️ 平台全平台(浏览器)Windows / macOS自托管Web
    🔌 离线支持(Service Worker)支持需要服务器❌ 不支持
    📜 许可证AGPL-3.0商业专有AGPL-3.0商业专有
    ⚠️ 已知争议订阅绑定、后台服务占资源追踪像素、Cookie 弹窗争议文件隐私风险

    BentoPDF 的核心差异化优势

    🛡️ 无干扰阅读:没有弹窗广告,没有强制订阅提醒,没有 Cookie 同意弹窗,只有你的文档。

    📉 资源占用极低:对于配置较低的设备(甚至 Raspberry Pi),BentoPDF 都能流畅运行,不会导致系统卡顿。Docker 镜像仅 10MB,运行时内存占用约为 Stirling PDF 的十分之一

    🔐 隐私保护:不是通过"隐私政策"来承诺的保护,而是通过 技术架构确保的保护——服务器在物理层面无法接触你的文件。BentoPDF 声明其不含任何遥测(Telemetry)功能,仅使用 Simple Analytics 收集匿名访问量统计(完全 GDPR 合规),绝不追踪用户身份或行为。

    🆓 真正的免费:所有工具完全免费使用,无文件大小限制、无处理次数限制、无需注册账号、输出文件无水印


    与其他轻量级 PDF 阅读器的区别

    需要注意的是,BentoPDF 主要定位为"PDF 工具箱",而非传统的"PDF 阅读器"。 如果你的核心需求是长时间沉浸式地阅读 PDF 文档(如学术论文、电子书),以下轻量级开源 PDF 阅读器同样值得了解:

    工具平台核心特色适用场景
    Sumatra PDF仅 Windows安装包仅 13MB,有便携版(USB 即用),支持 EPUB/MOBI/DjVu 等多格式,内置翻译功能日常快速阅读
    ZathuraLinux/UnixVim 风格键盘操控,插件化架构,极致轻量,高度可定制键盘驱动型用户
    Sioyek跨平台独创"Portal"功能(可在不同 PDF 间创建跨文档链接),参考文献预览,自动生成目录学术研究与论文阅读

    💡 使用建议:如果你需要的是高效处理 PDF 文件(合并、拆分、转换、加密等),选择 BentoPDF;如果你需要的是纯粹的长时间阅读体验,可以将上述阅读器与 BentoPDF 搭配使用。


    版本演进与最新动态

    了解项目的发展轨迹,有助于判断其长期可靠性和发展方向。

    重要版本里程碑

    版本时间关键更新
    v1.0.02025 年首个正式版发布,确立隐私优先的客户端架构
    v2.0.02025 年末架构大升级——停止打包 AGPL 库,改为 CDN 按需加载;新增大量格式转换工具
    v2.2.02026-02-09最新版本,新增颜色调整、扫描效果工具;完成 109 个工具页面的 13 语言国际化翻译;AGPL 库零配置预装;Markdown 转 PDF 支持 Mermaid 图表

    许可证变更说明

    BentoPDF 曾采用 Apache 2.0 许可证,后因一家公司将其重新打包为专有产品进行销售,社区决定切换至 AGPLv3 许可证。 这意味着:

    • ✅ 个人和商业使用仍然完全自由
    • ✅ 可以自由部署到你自己的服务器
    • ⚠️ 如果你修改了 BentoPDF 并将其作为公开服务运行,必须依据 AGPLv3 条款公开你的修改源码

    如何开始使用?

    方式一:直接在线使用(最简单)

    🌐 访问 bentopdf.com,所有工具均可直接在浏览器中免费使用,无需安装任何软件。

    方式二:Docker 自托管(推荐)

    适合希望在内网或私有环境中部署的用户和组织:

    # 最简单的一行命令启动
    docker run -d -p 8080:8080 bentopdf/bentopdf:latest

    启动后访问 http://localhost:8080 即可使用。

    使用 Docker Compose 部署:

    version: '3'
    services:
      bentopdf:
        image: ghcr.io/alam00000/bentopdf:latest
        ports:
          - "3000:8080"
        restart: unless-stopped

    📌 安全说明:BentoPDF 容器以非 root 用户运行,使用 nginx-unprivileged 提供服务,默认监听 8080 端口。无需配置环境变量,无需创建用户凭证即可直接使用。

    方式三:Kubernetes 部署

    适合企业级大规模部署:

    helm install bentopdf bentopdf/bentopdf

    方式四:一键部署到云平台

    多家主流云平台和自托管面板已内置 BentoPDF 的一键部署模板:

    • Netlify / Vercel / GitHub Pages(免费静态托管)
    • Railway / Zeabur(容器化部署)
    • Unraid(预置模板)
    • Umbrel / TrueNAS / Dokploy / Cloudron 等自托管平台

    参与社区贡献

    🐛 反馈与贡献:如果你发现 Bug 或有功能建议,可以在 GitHub 项目的 Issues 栏目直接向开发者反馈。BentoPDF 的插件化架构使得社区贡献者可以方便地开发和提交新工具。


    适用场景与用户画像

    BentoPDF 的适用范围远比"个人用户"要广泛得多:

    场景具体需求BentoPDF 如何满足
    🏛️ 法律行业合同处理、元数据清除、加密保护架构级隐私保障,元数据剥离工具,工作流模板一键复用
    🏥 医疗健康患者记录处理,HIPAA 合规文件不离开设备,声称符合 HIPAA 标准
    🎓 学术研究论文合并、PDF 转 Markdown、AI 数据准备OCR 识别、AI-Ready 导出工具、结构化数据提取
    💼 企业办公批量文档处理、格式转换、内网部署工作流引擎、广泛的格式支持、Kubernetes 部署
    🤖 AI / 数据工程PDF 预处理、RAG 管线数据准备"Prepare PDF for AI"工具、表格提取为 JSON/CSV
    👩‍💻 个人用户日常合并/拆分/压缩 PDF免费、无广告、无水印、即开即用

    小结

    BentoPDF 并不是要取代全功能的桌面 PDF 编辑器(如 Adobe Acrobat),但它已经证明了:在绝大多数日常和专业的 PDF 处理场景中,用户完全不需要为臃肿的商业软件付费。 它用一种极具说服力的方式回答了一个问题——当一个开源工具在隐私保护、功能覆盖、部署灵活性和性能表现上都做到了顶尖水准,付费软件的存在价值还剩下什么?

    如果你厌倦了复杂软件的喧嚣和隐私困扰,不妨给这个精美的"便当盒"一个机会。


    参考资源

    Brave 回复 2 months ago 1 成員 · 0 回复
  • 0 回复

歡迎留言回复交流。

Log in to reply.

讨论開始
00 回复 2018 年 6 月
現在