yinji/docs
2026-04-05 08:29:47 +08:00
..
AI_RUNBOOK.md feat: 重整印迹编辑流程与预览交互 2026-04-05 04:21:39 +08:00
CHANGELOG.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
CODE-REVIEW-v1.2.0.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
DEVELOPMENT_PLAN.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
KEYBOARD_SHORTCUTS.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
memory-management.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
README.md feat: 重整印迹编辑流程与预览交互 2026-04-05 04:21:39 +08:00
RELEASE_NOTES.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
SELF-EVALUATION-v1.2.0.md docs: 添加印迹 PDF Stamper v1.2.0 自评报告 2026-04-03 06:25:19 +08:00
SPRINT-SUMMARY-v1.2.0.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
task_plan.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
task_plan_phase2.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
test-automated.html fix: restore yinji fixtures and review fixes 2026-04-05 08:29:47 +08:00
test-toast.html fix: restore yinji fixtures and review fixes 2026-04-05 08:29:47 +08:00
TEST_PLAN_PHASE5.md docs: 添加 Phase 5 测试计划 2026-04-03 16:19:50 +08:00
TESTING_PLAN.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00
TOAST_TEST_CHECKLIST.md feat: Sprint 1-3 安全修复、状态管理重构、性能优化 2026-03-28 13:45:52 +08:00

PDF Stamper - 现代化在线PDF盖章工具

这份文档保留旧版对外介绍。当前开发、运行和验证说明看仓库根目录 README.md

PDF Stamper 是一个免费、开源的纯前端 PDF 盖章应用。它允许用户在浏览器中为 PDF 文件添加普通印章和骑缝章,所有操作均在本地完成,确保了用户的数据隐私和安全。

主要功能

核心功能

  • 纯客户端处理所有PDF文件和印章图片都在您的浏览器中处理绝无任何数据上传100%保护您的隐私。
  • 支持多种印章
    • 普通印章:在任意页面添加可自由移动、缩放的普通印章。
    • 骑缝章:跨页添加骑缝章,支持整体移动和缩放,位置精准。
  • 印章预设旋转:在添加印章前,可在工具栏预设旋转角度,实现带角度盖章。

v1.2.0 新功能

  • 🎨 标签页界面:全新的标签页设计,功能分组清晰(印章/编辑/批量)
  • ↩️ 撤销/重做:完整的历史记录管理,支持最多 50 步操作撤销
  • ⌨️ 键盘快捷键:全面的快捷键支持,提升操作效率
    • 编辑Ctrl+Z (撤销), Ctrl+Y (重做), Delete (删除)
    • 导航PageUp/Down, Home/End, 方向键
    • 缩放:+/- 键, 0 (重置)
    • 导出Ctrl+S
    • 帮助:? (显示快捷键)
  • 📚 印章库:保存常用印章,最多 20 个,支持快速加载
  • 📦 批量处理:一次处理多个 PDF 文件,带进度跟踪
  • ⚙️ 设置面板:自定义印章默认大小、旋转角度、透明度
    • 支持导出/导入设置
    • 设置跨会话持久化
  • 🎯 专业图标:使用 Lucide Icons 替代 emoji更加专业美观

UI/UX 特性

  • 现代化界面
    • 专业的三栏式应用布局
    • 可收起的侧边栏(抽屉效果),最大化工作区
    • 印章图片实时预览
    • 工作区视图自适应,支持自由缩放
  • 多页导航
    • 左侧缩略图快速预览和跳转
    • 底部工具栏显示当前页码,并提供下拉菜单快速选择页面
  • 高质量导出导出的PDF文件保持原始文档的最高清晰度印章位置像素级精准

🚀 技术栈

  • 构建工具: Vite - 提供了极速的冷启动和模块热更新HMR
  • 核心库:
    • PDF.js - 用于在浏览器中渲染和解析PDF文件
    • Fabric.js - 一个强大而简单的HTML5 Canvas库用于实现工作区内的对象交互
    • pdf-lib - 用于在导出时以纯JavaScript创建和修改PDF文档
    • Lucide Icons - 现代化的图标库
  • 部署平台: Cloudflare Pages - 提供全球CDN加速、自动CI/CD和免费的SSL证书

🛠️ 本地开发

如果您想在本地运行或继续开发此项目,请按照以下步骤操作:

  1. 克隆仓库

    git clone https://github.com/ssfun/pdf-stamper.git
    cd pdf-stamper
    
  2. 安装依赖 项目使用 npm 作为包管理器。

    npm install
    
  3. 运行开发服务器 此命令会启动一个本地开发服务器,通常在 http://localhost:5173

    npm run dev
    
  4. 构建生产版本 此命令会将所有文件打包到 dist 目录中,准备用于部署。

    npm run build
    

☁️ 部署到 Cloudflare Pages

本项目已为 Cloudflare Pages 进行了完美适配,部署过程非常简单:

  1. 将您的项目代码推送到一个GitHub或GitLab仓库。
  2. 登录您的Cloudflare账户进入 Workers & Pages
  3. 点击 Create application > Pages > Connect to Git
  4. 选择您的项目仓库。
  5. Set up builds and deployments 页面Cloudflare会自动为您选择 Vite 作为框架预设。请确认以下配置:
    • Production branch: main (或您的主分支)
    • Build command: npm run build
    • Build output directory: dist
  6. 点击 Save and Deploy

Cloudflare将自动完成构建和部署并为您提供一个 *.pages.dev 的免费域名。

📁 项目结构

.
├── dist/                    # 构建后的生产文件
├── public/                  # 静态资源会被直接复制到dist根目录
├── src/                     # 项目源代码
│   ├── core/                # 核心功能模块
│   │   ├── history.js       # 撤销/重做系统
│   │   ├── seal-library.js  # 印章库管理
│   │   ├── batch-processing.js  # 批量处理
│   │   └── settings.js      # 设置管理
│   ├── ui/                  # UI 组件
│   │   ├── notifications.js # Toast 通知
│   │   └── loading.js       # 加载指示器
│   ├── utils/               # 工具函数
│   │   └── validators.js    # 文件验证
│   ├── main.js              # 应用主逻辑
│   └── style.css            # 应用主样式
├── index.html               # 应用入口HTML
├── package.json             # 项目依赖和脚本
├── CHANGELOG.md             # 版本更新日志
├── TESTING_CHECKLIST.md     # 测试清单
└── README.md                # 项目说明文档

❤️ 贡献

欢迎您为这个项目做出贡献如果您发现了Bug或有新的功能建议请随时提交一个 Issue

如果您想提交代码,请遵循以下步骤:

  1. Fork 本仓库。
  2. 创建一个新的分支 (git checkout -b feature/AmazingFeature)。
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')。
  4. 将您的分支推送到远程仓库 (git push origin feature/AmazingFeature)。
  5. 开启一个 Pull Request。

📄 许可

本项目采用 MIT License 开源许可。