本文档解释了在 Stirling-PDF 中如何上传、处理和下载文件。它涵盖了文件处理工作流程中涉及的客户端和服务器端组件,从初始选择到最终下载。有关具体 PDF 操作的信息,请参阅 PDF 处理。
来源
Stirling-PDF 中的文件上传系统为用户提供了灵活的界面,可以通过各种方法选择文件。
Stirling-PDF 实现了一个自定义文件选择组件,支持
文件选择器作为可重用的 Thymeleaf 片段实现于 common.html,并可用于不同页面,提供可定制的选项
来源
文件选择器是一个可重用组件,具有以下关键属性
| 属性 | 描述 |
|---|---|
名称 | 文件输入的唯一标识符 |
accept | 要接受的 MIME 类型(例如,application/pdf, image/*) |
multipleInputsForSingleRequest | 是否应在单个请求中发送多个文件 |
disableMultipleFiles | 是否允许选择多个文件 |
remoteCall | 是进行远程 API 调用还是在本地处理 |
showUploads | 是否显示上传文件列表 |
notRequired | 文件选择是否为可选 |
使用示例
来源
当文件被选中时,系统会执行多项客户端操作
来源
当表单提交时,downloader.js 脚本处理该过程
来源
Stirling-PDF 有两种处理多个文件的方法
此行为由以下因素控制
multipleInputsForSingleRequest 标志来源
当文件到达服务器时,由控制器根据请求的操作对其进行处理。
来源
来源
服务器端处理后,文件会连同相应的下载处理头信息一起返回给客户端。
下载系统支持三种模式
来源
当单独处理多个文件时,系统可以
这由 zipThreshold 设置控制(默认为 4 个文件)。
来源
Stirling-PDF 高级版包含 Google 云端硬盘集成,允许用户直接从其 Google 云端硬盘帐户导入文件。
来源
当检测到加密 PDF 时,Stirling-PDF 提供无缝解密
/api/v1/security/remove-password 端点来源
当上传 ZIP 文件时,系统会自动
这允许用户方便地将多个文件上传到一个 ZIP 归档中。
来源
系统包含针对各种故障场景的强大错误处理
来源
文件处理系统与 PDF 处理工具无缝集成,提供连贯的用户体验
各种 PDF 操作有不同的文件处理要求
| 操作 | 输入文件 | 输出类型 | 特殊处理 |
|---|---|---|---|
| 合并 PDF | 多个 PDF | 单个 PDF | 文件排序 UI,在 merge.js |
| 拆分 PDF | 单个 PDF | 多个 PDF (ZIP) | 创建多个输出文件 |
| PDF 转图像 | 单个 PDF | 单张/多张图像 | 可选 ZIP 打包 |
| 图像转 PDF | 多张图像 | 单个 PDF | 图像排序和处理 |
| 重新排列页面 | 单个 PDF | 单个 PDF | 页面排序逻辑 |
来源