乐于分享
好东西不私藏

PDFCraft:90+ PDF 工具,全部在浏览器本地运行

PDFCraft:90+ PDF 工具,全部在浏览器本地运行

处理 PDF 文件,你用什么工具?

  • • iLovePDF:功能不错,但文件要上传到服务器
  • • SmallPDF:工具齐全,但免费版有限制
  • • Adobe Online:官方工具,但需要订阅

有没有想过,一个 PDF 工具能做到:90+ 功能、完全本地处理、开源免费、文件不上传服务器

今天分享一个开源项目——PDFCraft,它就是这么设计的。

它是什么?

PDFCraft 是一个免费、隐私优先的 PDF 工具套件,完全在浏览器中运行

核心定位:

  • • 100% 私密:所有处理都在客户端完成,文件不上传服务器
  • • 90+ 专业工具:编辑、转换、合并、拆分、保护……
  • • 开源免费:AGPL-3.0 协议
  • • 多语言支持:英语、中文、日语、韩语等 8+ 语言
PDFCraft界面

项目基本信息:

属性
详情
GitHub
https://github.com/PDFCraftTool/pdfcraft
官网
https://pdfcraft.devtoolcafe.com
Stars
4,866
版本
v2026.04.23
许可证
AGPL-3.0

这个项目有意思的点:4个月内从0到4.9k stars,说明市场需求明确——用户想要隐私安全的 PDF 工具。

为什么强调"本地处理"?

传统 PDF 工具的问题:

你上传 PDF → 服务器处理 → 返回结果
问题:文件经过服务器,隐私风险

PDFCraft 的做法:

你打开 PDF → 浏览器本地处理 → 结果直接给你
好处:文件不离开你的设备,隐私安全

适用场景:

  • • 合同、发票等敏感文件
  • • 公司内部文档
  • • 个人隐私资料

你不用担心文件被第三方拿到、被泄露、被滥用。

90+ 工具完整分类

PDFCraft 提供了 90+ 专业工具,覆盖 PDF 处理的方方面面:

📁 组织与管理(27 工具)

工具
功能
PDF Multi Tool
多合一编辑器:合并、拆分、组织、删除、旋转、提取
Merge PDF
合并多个 PDF 为一个文档
Split PDF
按页面范围拆分 PDF
Extract Pages
提取特定页面到新文件
Organize PDF
拖放重新排序、复制、删除页面
Delete Pages
删除不需要的页面
Rotate PDF
旋转 90°、180°、270°
Rotate by Custom Degrees
自定义角度旋转(校正扫描件)
Reverse Pages
反转 PDF 页面顺序
OCR PDF
文字识别使扫描 PDF 可搜索
Compare PDFs
并排对比两个 PDF,高亮差异
PDF Reader
PDF 阅读器界面

还有 N-up PDF(多页合并单页)、Alternate Merge(交替合并)、Posterize PDF(海报化)等高级功能。

✏️ 编辑与批注(19 工具)

工具
功能
Edit PDF
添加文字、图片、批注、高亮、形状
Sign PDF
绘制、输入或上传电子签名
Crop PDF
修剪边距、删除不需要区域
Edit Bookmarks
添加、编辑、管理 PDF 导航书签
Page Numbers
添加可自定义页码
Add Watermark
应用文字或图片水印
Header & Footer
添加页眉页脚、页码、日期
Add Stamps
应用预设或自定义印章
Form Filler
完成交互式 PDF 表单
Form Creator
创建表单:文本框、复选框、下拉框

还有 Invert Colors(颜色反转)、Background Color(背景色)、Deskew PDF(校正倾斜)等功能。

📤 转换为 PDF(22 工具)

支持的格式:

类型
格式
图片
JPG、PNG、WebP、SVG、BMP、HEIC、TIFF
文档
Word、Excel、PowerPoint、TXT、JSON
电子书
EPUB、MOBI
其他
Markdown、Email (EML/MSG)、XPS、RTF、PSD、DjVu

Word/Excel/PPT 转 PDF 用的是 LibreOffice WASM,在浏览器里运行完整的 LibreOffice。

📥 从 PDF 转换(13 工具)

工具
功能
PDF to JPG/PNG/WebP/BMP/TIFF
导出为各种图片格式
PDF to DOCX
转为可编辑 Word 文档
PDF to PowerPoint
转为可编辑演示文稿
PDF to Excel
提取表格为电子表格
Extract Images
提取 PDF 嵌入的所有图片
Extract Tables
从 PDF 提取结构化表格数据
PDF to PDF/A
转为归档格式 PDF/A

⚡ 优化与修复(8 工具)

工具
功能
Compress PDF
减小文件大小同时保持质量
Fix Page Size
标准化页面尺寸
Linearize PDF
优化为快速 Web 查看
Repair PDF
修复损坏或受损 PDF
Remove Restrictions
移除编辑/打印限制
Rasterize PDF
将矢量元素转为图片
Font to Outline
将文字字体转为矢量轮廓

🔒 PDF 安全(6 工具)

工具
功能
Encrypt PDF
添加密码保护和加密
Decrypt PDF
移除 PDF 密码
Sanitize PDF
移除元数据、脚本、隐藏数据
Flatten PDF
合并批注和表单字段到内容
Remove Metadata
移除作者、日期等元数据
Change Permissions
设置打印、复制、编辑权限

Workflow Editor:创新的工作流编辑器

这是 PDFCraft 的独特功能——可视化工作流编辑器。

工作流

工作流是什么?

传统做法:一个工具只能做一个操作。比如你想把多个 PDF 合并后压缩、再加水印,需要:

  1. 1. 打开 Merge PDF 工具 → 合并
  2. 2. 打开 Compress PDF 工具 → 压缩
  3. 3. 打开 Add Watermark 工具 → 加水印

三次操作,三次上传/下载。

Workflow Editor 的做法:

拖拽工具到画布 → 连接成流水线 → 一键执行
一次操作,批量处理

23+ 预构建模板

类别
模板示例
Common
Merge & Compress、Document Preparation、Split & Watermark
Conversion
Images to PDF、Office to PDF、Photo Album Creator
Optimization
Optimize for Web、Full Optimization、Grayscale & Compress
Security
Create Secure PDF、Confidential Document、Unlock & Edit

工作流特性

  • • 可视化节点编辑器:拖拽工具到画布,连接创建处理流水线
  • • 实时验证:自动检查连接工具间的格式兼容性
  • • 批量处理:多文件通过同一工作流处理
  • • 保存复用:自定义工作流可保存供未来使用

示例工作流:

[上传文件] → [OCR识别] → [压缩] → [加水印] → [加密] → [下载]

这个功能让 PDF 处理变得自动化、可定制。

技术架构:LibreOffice WASM 是核心

PDFCraft 的技术栈很有意思,核心亮点是 LibreOffice WASM

技术栈总览

类别
技术
框架
Next.js 15 (App Router)
语言
TypeScript
样式
Tailwind CSS 4
PDF 处理核心
PDF.js、pdf-lib、PyMuPDF (WASM)
Office 转 PDF
LibreOffice WASM
工作流编辑器
ReactFlow
OCR
Tesseract.js
电子签名
zgapdfsigner、node-forge
国际化
next-intl
状态管理
Zustand

架构图提示词:

生成一个架构图,展示 PDFCraft 的技术架构:
-
 上层:Next.js 15 前端(App Router + Tailwind CSS)
-
 中层:PDF 处理引擎(PDF.js、pdf-lib、PyMuPDF WASM)
-
 特殊层:LibreOffice WASM(Word/Excel/PPT 转 PDF)
-
 工作流层:ReactFlow 工作流编辑器
-
 功能层:OCR (Tesseract.js)、签名 (zgapdfsigner)
-
 底层:浏览器本地执行(WebAssembly)
-
 数据流向:用户上传 → 浏览器 WASM 处理 → 本地下载

LibreOffice WASM:浏览器里运行完整 LibreOffice

这是最核心的技术亮点。

为什么需要 LibreOffice?

Word、Excel、PowerPoint 转 PDF,传统方案是服务器端调用 LibreOffice。但 PDFCraft 要本地处理,怎么办?

答案是:LibreOffice WASM——把 LibreOffice 编译成 WebAssembly,在浏览器里运行。

文件结构

public/libreoffice-wasm/
├── soffice.wasm.gz   (~47MB,WASM 二进制压缩)
├── soffice.data.gz   (~29MB,数据文件压缩)
├── soffice.js        (加载脚本)
└── soffice.worker.js (Worker 线程)

原始 WASM 文件约 147MB,超过 GitHub 100MB 文件限制。所以只提交 gzip 压缩版本,构建时自动解压。

解压机制

# 开发环境
npm run dev  # predev 脚本自动解压

# 生产构建

npm run build  # postbuild 脚本自动解压

# Docker 构建

RUN gunzip -k public/libreoffice-wasm/*.gz

必需的 HTTP 响应头

LibreOffice WASM 使用 SharedArrayBuffer,需要特定的安全头:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy: cross-origin

没有这些头,WASM 无法正常运行。

资产分块技术

Cloudflare Pages 有 25MB 文件大小限制。147MB 的 WASM 怎么部署?

PDFCraft 的做法:资产分块

147MB WASM → 分成多个 ~20MB 块 → 部署到 Cloudflare → 客户端重组

这个技术让大文件可以在有大小限制的平台部署。

静态导出配置

PDFCraft 是完全静态站点:

// next.config.mjs
const
 nextConfig = {
  output
: 'export',           // 静态导出
  trailingSlash
: true,        // 静态托管兼容性
  images
: {
    unoptimized
: true,        // 静态导出必需
  },
};

静态导出意味着:

  • • 不需要服务器运行
  • • 可以部署在任何静态托管(Vercel、Netlify、Cloudflare Pages)
  • • 完全本地执行,真正的"隐私优先"

如何部署?

本地开发

git clone https://github.com/PDFCraftTool/pdfcraft.git
cd
 pdfcraft
npm install
npm run dev  # http://localhost:3000

Docker 部署

# 使用预构建镜像(推荐)
docker pull ghcr.io/pdfcrafttool/pdfcraft:latest
docker run -d -p 8080:80 --name pdfcraft \
  ghcr.io/pdfcrafttool/pdfcraft:latest

# 从源码构建

docker compose --profile prod up --build

多平台部署

平台
配置
特点
Vercel
自动
推荐,安全头已配置
Netlify
netlify.toml
自动部署
Cloudflare Pages
资产分块
绕过 25MB 文件限制
Docker + Nginx
nginx.conf
自托管
GitHub Pages
限制
不支持自定义响应头,SharedArrayBuffer 不可用

注意:GitHub Pages 不支持自定义响应头,LibreOffice WASM 无法正常运行。如果用 GitHub Pages 部署,Office 转 PDF 功能会受限。

与其他工具对比

对比项
PDFCraft
iLovePDF
SmallPDF
Adobe Online
文件隐私
✅ 完全本地
❌ 上传服务器
❌ 上传服务器
❌ 上传服务器
工具数量
90+
~25
~20
~15
工作流编辑器
开源
✅ AGPL-3.0
免费
✅ 完全免费
部分
部分付费
需订阅
自托管
✅ 支持
Office 转 PDF
✅ WASM 本地
✅ 服务器
✅ 服务器
✅ 服务器
OCR
✅ 本地
✅ 服务器
部分
✅ 服务器

PDFCraft 的差异化:

  1. 1. 完全本地处理:唯一开源、本地、免费的 90+ 工具套件
  2. 2. Workflow Editor:创新的可视化工作流编辑器
  3. 3. LibreOffice WASM:浏览器里运行完整 LibreOffice
  4. 4. 自托管支持:企业可以私有部署,控制数据安全

适用场景

我觉得 PDFCraft 适合这些场景:

场景
说明
涉密文档处理
合同、发票、公司内部文档
个人隐私保护
不想让文件经过第三方服务器
企业私有部署
Docker 自托管,数据不出内网
批量 PDF 处理
Workflow Editor 自动化流程
离线使用
PWA 支持,可离线处理

不适合的场景:如果你需要处理超大 PDF(几百 MB),本地处理可能会慢(浏览器内存限制)。这种情况下服务器端工具可能更快。

我的看法

我觉得 PDFCraft 有几个亮点:

  1. 1. LibreOffice WASM 是技术突破:把 LibreOffice 编译成 WebAssembly,在浏览器里运行。这不是简单的"本地处理",而是把桌面级应用的能力带到了浏览器。
  2. 2. Workflow Editor 是创新:传统 PDF 工具一个工具一个功能,PDFCraft 让你可以把多个操作组合成流水线。这个设计很实用,批量处理变得简单。
  3. 3. 90+ 工具覆盖全面:从编辑、转换、合并、拆分、安全……覆盖了 PDF 处理的方方面面。一个工具替代多个工具。
  4. 4. 完全本地处理是刚需:很多人处理合同、发票、公司文档,不想文件经过第三方服务器。PDFCraft 满足了这个隐私需求。
  5. 5. 开源可自托管:企业可以私有部署,数据不出内网。这对安全要求高的场景很重要。

但也有一些考虑:

  • • LibreOffice WASM 文件大:147MB,首次加载需要时间
  • • 浏览器内存限制:超大 PDF 处理可能卡顿
  • • GitHub Pages 不完全支持:Office 转 PDF 功能受限

总的来说,如果你需要隐私安全、开源免费、功能全面的 PDF 工具,PDFCraft 是目前最好的选择。

总结

PDFCraft 的核心价值:90+ PDF 工具,完全本地处理,文件不上传服务器

技术创新:LibreOffice WASM 在浏览器运行,Workflow Editor 工作流自动化。

差异化:开源免费、隐私优先、自托管支持、90+ 工具覆盖全面。


一句话总结:处理 PDF 又不想文件上传服务器?试试 PDFCraft,90+ 工具全部本地运行。