菜单

管道界面

相关源文件

概述

管道接口是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

向管道添加操作

通过以下过程将操作添加到管道中

  1. 从分类操作下拉菜单中选择一个操作
  2. 点击“添加操作”将其添加到管道中
  3. 如果可用,配置操作参数
  4. 使用向上/向下箭头重新排序操作
  5. 根据需要移除操作

管道中的每个操作都可以配置特定参数来控制其行为。配置界面会根据操作要求动态调整以显示相应的输入字段。

来源: src/main/resources/static/js/pipeline.js273-541

管道操作与验证

可用操作

管道接口从API文档中动态加载可用操作。操作按标签分类

  • 通用 - 基本PDF操作
  • 安全 - 密码和安全相关操作
  • 转换 - 格式转换操作
  • 杂项 - 其他操作
  • 筛选 - 筛选操作

操作经过筛选,以排除与管道系统不兼容的操作。

来源: src/main/resources/static/js/pipeline.js153-235

管道验证

管道接口包含验证功能,以确保操作兼容

验证检查

  1. 连续操作之间的输出/输入兼容性
  2. 特殊规则(例如,添加密码操作必须在最后)

来源: src/main/resources/static/js/pipeline.js1-64

保存和加载管道

保存管道

管道可以通过多种方式保存

  1. 保存到浏览器 - 将管道存储在浏览器的localStorage中
  2. 下载为JSON - 将管道配置下载为JSON文件

保存过程将管道配置转换为JSON格式,包含所有操作及其参数。

来源: src/main/resources/static/js/pipeline.js625-657

加载管道

管道可以从以下位置加载

  1. 管道选择下拉菜单 - 包括服务器保存和浏览器保存的管道
  2. 上传JSON文件 - 加载之前下载的管道配置

加载管道时,接口会根据配置重建所有操作及其参数。

来源: src/main/resources/static/js/pipeline.js659-729

执行管道

管道执行过程遵循以下步骤

执行管道时

  1. 管道配置和输入文件被发送到API端点
  2. 每个操作按顺序应用于文件
  3. 结果返回给用户供下载

来源: 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