管道接口是Stirling-PDF中的一个强大功能,它允许用户将一系列PDF操作配置并作为单个自动化工作流执行。用户无需手动逐个执行独立操作,而是可以将多个操作链接在一起形成一个“管道”,以指定的顺序处理文件。
本文档涵盖了用户界面组件、管道创建、配置、验证、存储和执行过程。
有关文件处理的总体信息,请参阅文件处理。
来源: src/main/resources/templates/pipeline.html1-204
管道功能由几个关键组件组成,这些组件协同工作以提供管道配置和执行功能。
管道接口与Stirling-PDF的API系统集成,以访问所有可包含在管道序列中的PDF操作。
来源: src/main/resources/templates/pipeline.html1-204 src/main/resources/static/js/pipeline.js1-748 src/main/java/stirling/software/SPDF/model/PipelineOperation.java1-29
管道接口包含几个关键的用户界面元素
主界面提供选择现有管道、上传文件以及配置或执行管道的选项。配置模态框允许详细的管道自定义。
来源: src/main/resources/templates/pipeline.html28-93
每个管道都表示为一个JSON配置,其结构如下
{
"name": "PipelineName",
"pipeline": [
{
"operation": "/operation/path",
"parameters": {
"paramName1": "value1",
"paramName2": "value2"
}
},
...more operations...
],
"outputDir": "{outputFolder}",
"outputFileName": "{filename}"
}
管道配置包括名称、带有参数的操作序列以及输出设置。
来源: src/main/resources/static/js/pipeline.js593-623
通过以下过程将操作添加到管道中
管道中的每个操作都可以配置特定参数来控制其行为。配置界面会根据操作要求动态调整以显示相应的输入字段。
来源: src/main/resources/static/js/pipeline.js273-541
管道接口从API文档中动态加载可用操作。操作按标签分类
操作经过筛选,以排除与管道系统不兼容的操作。
来源: src/main/resources/static/js/pipeline.js153-235
管道接口包含验证功能,以确保操作兼容
验证检查
来源: src/main/resources/static/js/pipeline.js1-64
管道可以通过多种方式保存
保存过程将管道配置转换为JSON格式,包含所有操作及其参数。
来源: src/main/resources/static/js/pipeline.js625-657
管道可以从以下位置加载
加载管道时,接口会根据配置重建所有操作及其参数。
来源: src/main/resources/static/js/pipeline.js659-729
管道执行过程遵循以下步骤
执行管道时
来源: src/main/resources/static/js/pipeline.js77-151 src/main/resources/templates/pipeline.html70-76
管道接口支持各种操作参数类型
| 参数类型 | UI 元素 | 描述 |
|---|---|---|
| 字符串 | 文本输入 | 文本参数 |
| 数字/整数 | 数字输入 | 数值参数 |
| 布尔值 | 复选框 | True/False 值 |
| 枚举(Enum) | 下拉菜单 | 从预定义值中选择 |
| 数组 | 文本区域 | JSON格式数组输入 |
| 对象 | 文本区域 | JSON格式对象输入 |
| 文件 | 文本输入* | 文件引用(特殊处理) |
*注意:管道操作中的文件输入使用特殊的引用系统,因为实际文件是在执行时提供的。
来源: src/main/resources/static/js/pipeline.js384-450
后端使用PipelineOperation类表示管道操作
PipelineOperation
+------------------------+
| - operation: String |
| - parameters: Map |
+------------------------+
| + getOperation() |
| + setOperation() |
| + getParameters() |
| + setParameters() |
+------------------------+
每个操作包括
管道处理器使用此模型按顺序执行操作。
来源: src/main/java/stirling/software/SPDF/model/PipelineOperation.java1-29