BentoPDF开源免费的PDF全能工具箱,内置超40多种实用处理功能

在日常工作中,我经常需要处理PDF文档——合并报价单、给设计稿加水印、压缩大文件以便发送。今天介绍的BentoPDF,是一款刚刚开源就迅速走红的本地化PDF工具集。

在日常工作中,我经常需要处理PDF文档——合并报价单、给设计稿加水印、压缩大文件以便发送。市面上的PDF 工具不少,但用起来总有顾虑:有些要求上传文件到服务器,有些限制处理次数或文件大小,更让人担心的是,包含敏感信息的文档一旦上传到第三方平台,很难确保数据不被留存或滥用。

今天介绍的BentoPDF,是一款刚刚开源就迅速走红的本地化PDF工具集。

114347247b87f1fa6152641d9c407774

项目介绍

BentoPDF是一个完全运行在浏览器端的PDF处理工具集。与常规在线PDF服务不同,它不依赖后端服务器,所有文件处理逻辑都通过客户端JavaScript执行。这意味着用户选择的PDF文件仅在本地设备中被读取和处理,不会产生网络传输。

screenshot 2025 12 08 114755 182

项目采用Vite + TypeScript + Tailwind CSS构建前端,界面简洁流畅。底层依赖多个成熟的开源库实现PDF操作能力:

  • PDF.js:Mozilla开源的PDF渲染引擎,负责文档预览
  • PDFLib.js:客户端PDF生成与编辑库
  • PDFKit:用于创建结构化PDF内容
  • Cropper.js:实现图像裁剪等交互功能

项目遵循GNU AGPLv3开源协议,代码托管在GitHub,支持自由使用、修改和分发。

项目地址:https://github.com/alam00000/bentopdf

在线体验:https://bentopdf.com

核心功能

BentoPDF提供了40+个PDF处理工具,覆盖日常工作中的主要需求。

11435415b3575d35ff2365fb28804050

我按功能类别整理如下:

文档组织与管理

功能说明
合并PDF将多个PDF文件合并为一个文档
拆分PDF提取指定页面或按规则拆分文档
页面重组通过拖拽方式重新排序、复制或删除页面
提取页面保存指定页面范围为新PDF
旋转PDF旋转单个或所有页面
N-Up排版将多页内容排列到单页上(如2×2布局)
交替合并按页面顺序交替合并两个PDF
海报化将单页拆分为多页以便打印

内容编辑与修改

功能说明
PDF编辑器综合编辑界面,支持文本、图形等操作
添加页码自定义页码样式和位置
添加水印支持文字或图片水印
页眉页脚添加可自定义的页眉和页脚
裁剪PDF裁剪页面至指定区域
反色处理反转页面颜色以提高可读性
修改背景色更改页面背景颜色
修改文字颜色更改文本内容颜色
填写表单直接在浏览器中填写PDF表单
扁平化将表单字段和注释转为静态内容
删除注释移除批注、高亮等标记
删除空白页自动检测并删除空白页

格式转换

转为PDF

  • 图片转PDF(支持JPG、PNG、WebP、SVG、BMP、HEIC、TIFF)
  • Markdown转PDF
  • 文本转PDF

PDF导出

  • PDF转图片(支持JPG、PNG、WebP、BMP、TIFF)
  • PDF转灰度图
  • OCR识别(将扫描件转为可搜索文本)

安全与优化

功能说明
压缩PDF减小文件体积
修复PDF尝试修复损坏的PDF文件
加密PDF添加密码保护
解密PDF移除密码保护(需提供密码)
权限管理设置打印、复制、编辑等权限
数字签名添加电子签名
内容涂黑永久删除敏感内容
元数据编辑查看和修改作者、标题等元数据
移除元数据清除所有元数据
线性化优化PDF以便快速网页浏览
净化PDF移除潜在的恶意内容

部署方案

BentoPDF支持多种部署方式,适合不同使用场景。

Docker快速部署

最简单的本地部署方式:

# 从Docker Hub拉取
docker run -p 3000:8080 bentopdf/bentopdf:latest
​
# 或从GitHub Container Registry拉取
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf:latest

访问 http://localhost:3000 即可使用。

Docker Compose部署(推荐)

适合需要长期运行的场景,支持自动重启:

# docker-compose.yml
services:
  bentopdf:
    image: bentopdf/bentopdf:latest
    container_name: bentopdf
    ports:
      - '3000:8080'
    restart: unless-stopped

启动命令:

docker-compose up -d

开发环境部署

如需修改代码或参与开发:

# 克隆仓库
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
​
# 安装依赖
npm install
​
# 启动开发服务器
npm run dev

开发服务器运行在 http://localhost:5173

版本管理

项目支持语义化版本控制,可通过标签选择特定版本:

# 最新版本
docker pull bentopdf/bentopdf:latest
​
# 指定版本
docker pull bentopdf/bentopdf:1.0.0
docker pull bentopdf/bentopdf:v1.0.0

发布新版本:

npm run release         # 补丁版本 (0.0.1 → 0.0.2)
npm run release:minor   # 次版本 (0.0.1 → 0.1.0)
npm run release:major   # 主版本 (0.0.1 → 1.0.0)

Simple Mode(简洁模式)

针对企业内部使用或教育机构,BentoPDF提供简洁模式,可隐藏品牌元素和营销内容:

  • 隐藏导航栏、Hero区域、功能介绍、FAQ、用户评价和页脚
  • 仅显示核心PDF 工具
  • 页面标题更改为”PDF Tools”

详细配置方法见项目文档中的 SIMPLE_MODE.md

静态资源托管

由于前端构建产物是纯静态文件,可使用Nginx、Apache或CDN进行托管:

# Nginx配置示例
server {
    listen 80;
    server_name pdf.example.com;
    
    root /var/www/bentopdf;
    index index.html;
    
    location / {
        try_files $uri $uri/ /index.html;
    }
}

    同类项目对比

    市面上还有一些类似的PDF工具,我简单对比一下:

    项目运行方式开源部署功能范围
    BentoPDF纯浏览器端是(AGPLv3)静态资源/Docker40+工具
    Stirling-PDF需要后端服务是(Apache 2.0)Docker/Java80+工具,更全面
    PDF.js纯浏览器端是(Apache 2.0)库形式集成仅查看和渲染
    iLovePDF云端处理SaaS服务功能丰富,但收费
    Smallpdf云端处理SaaS服务功能丰富,但有限制

    原创文章,作者:howkunet,如若转载,请注明出处:https://www.intoep.com/othen/68289.html

    (0)
    打赏 微信赞赏 微信赞赏 支付宝赞赏 支付宝赞赏
    上一篇 2025-12-03 14:22
    下一篇 2025-05-21 14:12

    发表回复

    登录后才能评论
    扫码了解
    扫码了解
    反馈建议
    分享本页
    返回顶部