功能概览

文档拆分可以处理一个多页文件中包含多种不同分类的文档、或在一页上铺贴多个票据的场景。 文档拆分包括两类能力:文件拆分(split)和多图切分(crop)

文件拆分

自动拆分长文档为单页或子文档。 使用场景:
  1. 医疗保险理赔场景,一份多页文件,在第1-2页是保单,第3-5页是发票,第6-10页是住院记录。
  2. 物流进出口场景,第1页是出口报关单,第2页是发票,第3页是装箱单(packing list),第4页是销售合同。
📖 详细说明:查看文件拆分功能详细文档了解更多使用场景、API参数和示例代码。

多图切分

用于一页包含多张独立票据时的切分。 使用场景:
  1. 报销贴发票的场景,一张A4纸上平铺贴有火车票、飞机行程单、多个出租车发票
📖 详细说明:查看多图切分功能详细文档了解更多使用场景、API参数和示例代码。
通过文件拆分和多图切分,将文件中不同的文件分类拆分出来,可以帮助后续的抽取流程更精确地提取各类文件的信息。

功能启用参数

文件拆分和多图切分功能默认关闭。
上传接口中,通过以下两个参数控制是否启用文件拆分和切分功能:
  • split_flag 是否进行文件拆分,默认 false
  • crop_flag 是否进行多图切分,默认 false
文件拆分和多图切分功能可以组合使用,例如只启用文件拆分或只启用多图切分,或者同时启用文件拆分和多图切分。 请求示例:
curl -X POST \
  -H "x-ti-app-id: <your-app-id>" \
  -H "x-ti-secret-code: <your-secret-code>" \
  -F "file=@/path/to/long.pdf" \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/upload?workspace_id=<your-workspace-id>&split_flag=true"

查询拆分结果

使用 file/fetch 查询。响应中的 child_files 字段用于描述子任务信息:
curl
curl \
  -H "x-ti-app-id: <your-app-id>" \
  -H "x-ti-secret-code: <your-secret-code>" \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/fetch?workspace_id=<your-workspace-id>&batch_number=<your-batch-number>"
返回结构关键字段包括:
  • files[].child_files[]: 子任务列表(当拆分或切图时存在)
其中files[].child_files[].task_type表示该拆分任务类型:
  • task_type=0,表示该子文件由文件拆分产生
  • task_type=3,表示该子文件有多图切分产生
当文件由多图切分产生时,字段child_files[].from_parent_position_list表示切图结果在原图中的坐标。坐标的表示可以参考坐标系说明

返回示例(节选)

{
  "code": 200,
  "result": {
    "files": [
      {
        "id": "parent-001",
        "name": "multi-photo.pdf",
        "child_files": [
          {
            "id": "child-001",
            "task_id": "t-1",
            "task_type": 0,
            "name": "multi-photo.pdf#1",
            "format": "pdf",
            "category": "invoice",
            "from_parent_position_list": [12, 30, 420, 30, 420, 320, 12, 320]
          }
        ],
      }
    ]
  }
}