PDFCraft 是一个完全在浏览器端运行的、隐私优先的 PDF 工具包,提供了 90 多种专业 PDF 处理功能。

本教程将覆盖从源码安装、Docker 部署到生产环境静态部署等多种方式,以满足不同用户的需求。

📥 方式一:从源码运行(开发环境)

这种方式适合开发者进行本地开发、测试或二次定制。

1. 环境准备

  • Node.js:版本要求 18.17 或更高
  • 包管理器npmyarnpnpm

2. 克隆并安装依赖

1
2
3
4
git clone https://github.com/PDFCraftTool/pdfcraft.git
cd pdfcraft
npm install
# 或 yarn install / pnpm install

3. 启动开发服务器

1
2
npm run dev
# 或 yarn dev / pnpm dev

启动成功后,在浏览器中打开 http://localhost:3000 即可访问应用。开发模式支持热重载。

🐳 方式二:使用 Docker 部署(推荐)

Docker 提供了最便捷的部署方式,尤其适合生产环境或不想配置 Node.js 环境的用户。

1. 使用预构建镜像(最快捷)
项目提供了 GitHub Container Registry (GHCR) 的预构建镜像,可以直接拉取运行:

1
2
3
4
5
# 拉取最新镜像
docker pull ghcr.io/pdfcrafttool/pdfcraft:latest

# 运行容器,将宿主机 8080 端口映射到容器的 80 端口
docker run -d -p 8080:80 --name pdfcraft ghcr.io/pdfcrafttool/pdfcraft:latest

运行后,访问 http://localhost:8080 即可使用。

2. 使用 Docker Compose 构建并运行
如果你想从源码构建镜像或进行自定义,可以使用项目提供的 docker-compose.yml

1
2
3
4
5
6
# 克隆仓库(如果尚未克隆)
git clone https://github.com/PDFCraftTool/pdfcraft.git
cd pdfcraft

# 生产模式构建并启动(使用 Nginx 提供静态服务)
docker compose --profile prod up --build
  • 开发模式(支持热重载):docker compose --profile dev up
  • 生产模式访问地址:http://localhost:8080

🌐 方式三:静态站点部署(适用于生产环境)

PDFCraft 被配置为静态导出 (output: 'export'),这意味着你可以将其部署到任何支持静态网站托管的平台,无需 Node.js 服务器。

1. 构建静态文件

1
npm run build

此命令会在项目根目录生成一个 out 文件夹,其中包含了所有静态资源(HTML, CSS, JavaScript, WASM 文件等)。

2. 部署到目标平台
你可以将 out 文件夹的内容部署到以下任意平台:

平台 部署方式
Vercel(推荐) 直接连接 Git 仓库,或使用 CLI:vercel --prod
Netlify 拖拽 out 文件夹到 Netlify Drop,或使用 CLI:netlify deploy --prod --dir=out
GitHub Pages 推送代码到 main 分支,项目已包含 GitHub Actions 工作流自动部署
Cloudflare Pages 使用 CLI:wrangler pages deploy out
Apache / Nginx out 文件夹内容上传到 Web 服务器的根目录。项目已包含安全头配置示例(.htaccessnginx.conf

重要提示

  • 子路径部署:如果你希望将应用部署在子路径下(如 https://your-domain.com/pdfcraft/),需要在构建时通过 BASE_PATH 环境变量指定,例如:

    1
    BASE_PATH=/pdfcraft npm run build
  • WASM 支持:所有部署配置文件均已包含 WebAssembly (WASM) 文件的正确 MIME 类型设置,确保 PDF 处理功能正常工作。

🔌 可选:部署为 Tauri 桌面应用

PDFCraft 还支持使用 Tauri 构建为跨平台桌面应用(在 src-tauri 目录)。构建桌面应用需要安装 Rust 工具链,并遵循 Tauri 的构建指南。

💡 关键要点与提示

  • 隐私保护:PDFCraft 的核心优势是完全在浏览器端处理,文件不上传任何服务器,非常适合处理敏感文档。
  • 功能完整:部署后的应用包含 90+ 工具,涵盖合并、分割、转换、编辑、安全和 OCR 等。
  • 工作流编辑器:项目包含一个可视化工作流编辑器(Beta),支持拖拽式创建自动化 PDF 处理管道,并内置了 23+ 模板。
  • 多语言支持:应用内置了 13 种语言界面,会根据浏览器语言自动切换或由用户选择。

如果在部署中遇到问题,可以查阅项目根目录下的 DEPLOYMENT.md 文件或提交 GitHub Issue。希望这份指南能帮助你顺利部署和使用 PDFCraft。