部署方式
PDFValid 准文 面向金融、政务、医药、法律等数据敏感行业,提供多种私有化部署形态,确保文件处理全程在客户自有基础设施内完成。
合同签订后交付流程
销售确认合同后,技术团队将按以下流程完成交付:
- 确认授权信息:客户名称、套餐、有效期、部署形态、目标架构、特殊配置。
- 签发授权文件:生成客户专属的授权凭证与校验密钥。
- 准备交付包:提供 Docker 镜像或离线 tar.gz 包,并将授权文件放入配置目录。
- 安全交付:通过加密渠道将授权文件与部署包交给客户。
- 镜像验证:客户使用 PDFValid 提供的公钥验证镜像签名,确保制品未被篡改。
- 部署上线:客户执行部署脚本或参考部署手册完成安装。
- 授权验证:登录 Web UI 确认授权范围与有效期。
整个过程中,签名私钥由 PDFValid 准文 内部保管,客户仅获得授权凭证与校验密钥,无法伪造或越权使用。
镜像安全验证
客户收到部署包后,可通过以下方式验证镜像来源和完整性:
# 1. 获取公钥(随部署包提供或从官网下载)
# 2. 验证线上镜像
cosign verify --key cosign.pub ghcr.io/pdfvalid/pdf-toolkit:2.5.0
# 3. 验证离线包
cosign verify-blob --key cosign.pub \
--bundle pdf-toolkit-2.5.0.tar.gz.bundle \
pdf-toolkit-2.5.0.tar.gz
每个版本发布的镜像均经过 Trivy 漏洞扫描(HIGH/CRITICAL 零容忍)和 pip-audit 依赖审计,扫描报告可向技术支持索取。
Docker 私有化部署
适合已具备容器平台或 DevOps 能力的企业:
- 通过 Docker 镜像快速部署
- 易于集成到现有运维、监控与备份体系
- 支持本地存储、MinIO/S3 兼容对象存储
离线部署包
适合无法连接互联网的政务内网、隔离机房或国产化环境:
- 提供完整镜像、配置模板与部署脚本
- 客户 IT 团队可在本地完成安装
- 无需访问外部网络即可运行
非 Docker 部署
若客户环境无法使用 Docker,也可基于 Python 虚拟环境手工部署:
- 准备 Python 3.10 虚拟环境并安装生产依赖。
- 将授权文件与配置模板放入 config 目录。
- 按部署手册启动 Web 服务。
非 Docker 部署需要客户 IT 团队额外处理:
- Python 及二进制依赖安装(如 PyMuPDF、OCR 引擎)
- 非 root 运行、文件权限与 systemd 守护
- 日志轮转、数据备份与监控告警
如需官方一键安装包或 Helm Chart,请联系商务团队评估定制方案。
授权申请与部署
PDFValid 准文 采用商业授权机制,授权维度包括可用工作流、检测能力、修复能力及自定义组合能力。
1. 申请授权
联系商务团队并提供以下信息:
- 客户名称或合同编号
- 需要使用的处理工作流(如公文规范化、质检验收等)
- 是否需要自定义检测/修复组合
- 预期部署节点数与有效期
商务确认后,发行方会签发客户专属的授权文件与校验密钥。
2. 部署授权
离线包自动加载
将授权文件与校验密钥放入离线包 config/ 目录,执行部署脚本即可自动挂载并启动。
Docker 手动挂载
将授权文件与校验密钥挂载到容器配置目录,参考如下示例:
docker run -d -p 8001:8001 \
-v $(pwd)/config:/app/config:ro \
-v $(pwd)/data:/app/data \
pdf-toolkit:<版本号>
具体文件名与环境变量名以交付的部署手册为准。
3. 验证授权
启动后访问 http://<服务器IP>:8001/app 登录 Web UI,在右上角查看授权状态、授权范围与有效期。
4. 授权限制说明
商业授权可控制以下资源使用上限,均为可选:
| 限制项 | 说明 |
|---|---|
| 最大工作进程数 | 单个节点允许的最大并行处理进程数 |
| 最大并发任务数 | Web UI 中同时处于活动状态的最大任务数 |
| 单文件最大页数 | 超出后本地/上传/远程文件均会被拒绝处理 |
| 单文件最大大小 | 超出后本地/上传/远程文件均会被拒绝处理 |
说明:
- 最大工作进程数在启动时生效,超出部分会被自动截断到授权上限。
- 最大并发任务数在创建新任务时校验,达到上限后新任务将被拒绝。
- 单文件页数与大小在任务执行前校验;远程文件会先尝试预检大小,避免下载超大文件。
- 试用模式或未配置授权时,上述资源限制字段不生效,但输出会叠加试用版水印。
5. 试用模式
未配置授权或授权类型为试用时,系统进入试用模式:
- 仅开放部分基础工作流
- 仅开放部分检测与修复能力
- 不支持自定义组合
试用到期后需更换商业授权,否则服务将无法启动。
Web UI 访问与安全
Web UI 已随后端服务一起分发,部署后访问:
http://<服务器IP>:8001/app
访问令牌
如需对 Web UI 及 API 增加一层访问控制,启动时设置环境变量:
WEB_UI_AUTH_TOKEN=<自定义令牌>
设置后,所有 /app/* 静态资源及 /api/* 接口均需要认证。首次访问可通过 URL 查询参数传入令牌:
http://<服务器IP>:8001/app/?token=<TOKEN>
服务端校验通过后会自动写入 Cookie,后续请求(包括 EventSource 进度流)无需再次带参。API 调用也可选择以下任一方式:
- 请求头:
Authorization: Bearer <TOKEN> - Cookie:
pdf_toolkit_token=<TOKEN>
跨域配置
生产环境请在 config/settings.yaml 中配置 web.allow_origins,不要保持默认值 ["*"]:
web:
allow_origins:
- "https://pdfvalid.com"
allow_credentials: true
allow_methods: ["*"]
allow_headers: ["*"]
多节点授权
旗舰版支持按节点扩展,适配以下场景:
- 集团总部与分支机构分布式部署
- 高并发大批量处理需求
- 多业务线独立使用同一平台
国产化适配
支持主流国产化环境:
- x86 / ARM 架构
- 国产操作系统与容器平台
- 满足政务、金融信创要求
数据不出域
无论选择哪种部署方式,PDFValid 准文 都遵循以下原则:
- 文件处理不经过第三方云服务
- 数据存储位置由客户指定
- 审计日志与处理报告保留在客户侧