简介
PrintTools Mobile 是 PrintTools 的 Android 手机版本。和桌面版功能一致,报价单、催款单、收款单随时随地一键生成,生成后可App 内预览或一键转发微信/企业微信。
Introduction
PrintTools Mobile is the Android version of PrintTools. It offers the same functionality as the desktop version — generate Quotations, Payment Reminders, and Receipts anytime, anywhere. After generation, you can preview within the app or share directly to WeChat/WeCom.
核心功能
📱 三个单据
- 报价单 — 选客户、选服务、调数量/单价,自动合计
- 催款单 — 明细列表 + 还款期限,自动大写金额
- 收款单 — 明细 + 收款方式,自动打印银行账户
🔗 一键分享
- 生成 PDF 后弹窗提供App 内预览(PdfRenderer 渲染)
- 一键转发微信 / 企业微信
- 支持系统分享菜单(邮件、网盘等)
📊 预置数据
- 客户 + 服务项目一次录入,全局复用
- 添加时可手动改单价(默认预置价格)
- 单号按日期自动递增,不重复
- 删除时弹出确认对话框,防止误删
🏢 公司信息
- 公司名、电话、地址、开户行、账号集中管理
- 公章自动生成(弧形公司名 + 五角星)
📋 单据历史
- 自动生成的单据自动记录
- 支持预览、分享、删除
- 最多保留 100 条记录
🎨 UI 优化
- Material 3 设计语言
- 首页卡片化设计,功能一目了然
- 底部导航精简为 5 个
- 页面切换动画效果
- 暗色模式自动跟随系统
Core Features
📱 Three Document Types
- Quotation — Select client, services, adjust quantity/price, auto-calculate total
- Payment Reminder — Detail list + deadline, auto-convert amount to Chinese uppercase
- Receipt — Details + payment method, auto-print bank account info
🔗 One-Tap Sharing
- Preview PDF in-app after generation (PdfRenderer)
- Share directly to WeChat / WeCom
- Support system share menu (email, cloud storage, etc.)
📊 Preset Data
- One-time entry of clients and services, reusable globally
- Manually adjust unit price when adding (default preset price)
- Auto-increment document number by date, no duplicates
- Delete confirmation dialog to prevent accidental deletion
🏢 Company Info
- Centralized management of company name, phone, address, bank, account
- Auto-generate company seal (arc-shaped company name + five-pointed star)
📋 Document History
- Auto-record generated documents
- Support preview, share, delete
- Keep up to 100 records
🎨 UI Optimization
- Material 3 design language
- Card-based homepage design
- Simplified bottom navigation (5 items)
- Page transition animations
- Dark mode follows system settings
与桌面版对比
| 特性 | 桌面版 | 手机版 |
|---|---|---|
| PDF 生成 | ✅ | ✅ |
| 公章绘制 | ✅ | ✅ |
| 预置数据 | ✅ | ✅ |
| Excel 导入 | ✅ | ❌ |
| App 内预览 | ❌ | ✅ |
| 一键转发微信 | ❌ | ✅ |
| 单据历史 | ❌ | ✅ |
| 暗色模式 | ❌ | ✅ |
| 平台 | Windows | Android |
Comparison with Desktop
| Feature | Desktop | Mobile |
|---|---|---|
| PDF Generation | ✅ | ✅ |
| Company Seal | ✅ | ✅ |
| Preset Data | ✅ | ✅ |
| Excel Import | ✅ | ❌ |
| In-App Preview | ❌ | ✅ |
| WeChat Sharing | ❌ | ✅ |
| Document History | ❌ | ✅ |
| Dark Mode | ❌ | ✅ |
| Platform | Windows | Android |
技术栈
| 层级 | 技术选型 |
|---|---|
| UI 框架 | Jetpack Compose + Material 3 |
| PDF 引擎 | Android PdfDocument Canvas |
| 状态管理 | ViewModel + StateFlow |
| 存储 | SharedPreferences + JSON |
| 语言 | Kotlin |
Tech Stack
| Layer | Technology |
|---|---|
| UI Framework | Jetpack Compose + Material 3 |
| PDF Engine | Android PdfDocument Canvas |
| State Management | ViewModel + StateFlow |
| Storage | SharedPreferences + JSON |
| Language | Kotlin |
更新日志
v1.2 (2026-07-03)
- 修复致命问题:添加 ProGuard Gson keep 规则,Release 版不再崩溃
- 数据安全:presets.json 和 history.json 支持原子写入 + 自动备份
- 修复三个单据页面共享 ViewModel 导致数据串台的问题
- 修复切换单据页面时单号不刷新的问题
- 版本号从 BuildConfig 动态读取,不再硬编码
- FileProvider URI 提取为 remember 变量,减少重复调用
- 复用 DataManager 实例,不再重复创建
v1.1 (2026-06-27)
- 新增单据历史记录功能
- 单号自动递增(格式:BJD-20260627-001)
- 删除客户/服务时弹出确认对话框
- 通用分享功能(支持所有 App)
- 首页卡片化设计
- 底部导航精简为 5 个
- 空状态引导提示
- 页面切换动画
- 暗色模式支持
- AGP 降级到 8.2.0(更稳定)
- Release 版本开启混淆
Changelog
v1.2 (2026-07-03)
- Critical fix: Added ProGuard Gson keep rules, Release build no longer crashes
- Data safety: presets.json and history.json support atomic write + auto backup
- Fixed shared ViewModel across three document pages causing data mixing
- Fixed document number not refreshing when switching pages
- Version number now dynamically read from BuildConfig, no longer hardcoded
- FileProvider URI extracted as remember variable, reducing redundant calls
- Reuse DataManager instance instead of creating new ones
v1.1 (2026-06-27)
- Added document history feature
- Auto-increment document number (format: BJD-20260627-001)
- Delete confirmation dialog for clients/services
- General sharing feature (support all apps)
- Card-based homepage design
- Simplified bottom navigation (5 items)
- Empty state guidance
- Page transition animations
- Dark mode support
- Downgraded AGP to 8.2.0 (more stable)
- Enabled Release obfuscation