Skip to content

文件转换接口 ​

文件转换接口用于把图片、PDF、OFD、TIFF 统一转换为图片或文档输出。当前成者(CZUR)提供的实现中,单张图片转 jpg / png / tiff 的单页转换走 czur-graphic-provider,其他页面集合转换走 czur-file-convert-provider。

文件转换方法 ​

方法参数响应 data说明
file.convertsource?: object,target?: object,options?: object;也支持 flat 字段 input_upload_id(s)、input_path(s)、output_path、output_dir、target_dir、output_format、export_type、exportType、pages、base64task_id?,input_path(s),output_path,output_paths[],output_format,export_type,source_format,source_page_count,selected_page_count,accepted,converted,asset,assets[],outputs[],provider同步执行文件转换,返回转换后的本地资产信息。

参数结构 ​

推荐使用结构化参数;flat 参数仍由后端兼容。

source ​

字段类型说明
typestring来源类型:image、images、base64、pdf、ofd、tiff。未传时默认 image。
formatstring来源格式;通常可省略,由 type 或输入文件后缀推断。
input_upload_idstring单个上传 ID,会解析为当前连接可访问的 asset-original。
input_upload_idsstring[]多个上传 ID。图片来源可传多个;PDF/OFD/TIFF 文档来源每次请求只接受一个输入文档。
input_pathstring单个本地输入路径。
input_pathsstring[]多个本地输入路径。
base64stringBase64 图片或 data URL 图片。传入后会写入 runtime 临时输入文件。
pagesstring文档页码选择,默认 all。支持 all 或 1,3-5,页码从 1 开始。

target ​

字段类型说明
typestring目标格式:jpg、jpeg、png、tiff、pdf、ofd。jpeg 会标准化为 jpg。
pathstring多页输出文件路径;单页且只输出一个文件时也可作为目标文件路径。
dirstring单页/逐页输出目录。

options ​

字段类型说明
export_typestringsingle-page 或 multi-page,兼容 single_page / multi_page。jpg / png 默认 single-page,其他目标默认 multi-page。
qualitynumber输出质量,默认 90。当前实现按阈值映射为高/中/低质量:>=70 高,>=40 中,否则低。
render_dpinumber渲染 PDF/OFD 页为图片时使用的 DPI,默认 144。
pagesstring页码选择;优先级高于 source.pages。
tiff_colorstringTIFF 色彩,默认 color。gray、grey、grayscale 会按灰度输出,其他值按彩色输出。
tiff_compressionstringTIFF 压缩,默认 lzw。支持 lzw、none、jpeg / jpg、group4 / g4。

转换规则 ​

来源目标export_type行为
单张或多张图片pdf / ofd / tiffmulti-page合成为一个多页文件。
单张或多张图片jpg / png / tiff / pdf / ofdsingle-page每张图片输出一个文件。
PDF/OFD/TIFF 文档jpg / png / tiffsingle-page每个选中页渲染为一个图片或 TIFF 文件。
PDF/OFD/TIFF 文档pdf / ofd / tiffsingle-page每个选中页输出一个单页文档。
PDF/OFD/TIFF 文档pdf / ofd / tiffmulti-page选中页合成为一个目标文档。

补充规则:

项目说明
图片目标限制jpg / png 目标只支持 export_type=single-page。
文档来源限制pdf、ofd、tiff 来源每次请求只接受一个输入文档。
输出目录默认值未传 output_dir / target.dir 时,后端使用 runtime 任务资产目录。
多页输出默认路径multi-page 且未传 output_path / target.path 时,后端生成 converted.<ext>。
单页输出命名多个输出会根据来源文件名和页码生成唯一文件名;如果只输出一个文件且传了 output_path,会使用该路径。
文档转换语义PDF/OFD/TIFF 来源会先按页渲染为图片,再生成目标文件;跨文档格式转换不承诺保留文本、矢量或语义结构。

响应字段 ​

字段类型说明
task_idstring可选。单张图片走 graphic 快路径时返回本次资产任务 ID。
input_path / input_paths[]string / string[]实际转换使用的本地输入路径。
output_pathstring主输出路径。多页输出为目标文件;多单页输出通常为第一个输出文件。
output_paths[]string[]全部输出文件路径。
output_formatstring标准化后的目标格式。
export_typestring标准化后的导出方式。
source_formatstring实际来源格式:image、pdf、ofd 或 tiff。
source_page_countnumber来源页数。图片来源按输入图片数量计数。
selected_page_countnumber参与转换的页数。
acceptednumber被接受转换的页数。
convertednumber生成的输出数量;多页合成通常为 1。
assetobject第一个输出注册到本地资产服务后的信息。
assets[]array全部输出资产。
outputs[]array输出列表,元素包含 path、format、asset。
providerstring实际执行的 provider,可能为 czur-graphic-provider 或 czur-file-convert-provider。

asset / assets[] 中包含 asset_id、kind、path、content_type、size、url、download_url 等字段,可用于本地预览或下载。

请求示例 ​

单张图片转 PNG:

json
{
  "request_id": "req-convert-001",
  "method": "file.convert",
  "params": {
    "input_upload_id": "img-1760000000-1",
    "output_format": "png"
  }
}

多张图片合成为 PDF:

json
{
  "request_id": "req-convert-002",
  "method": "file.convert",
  "params": {
    "source": {
      "type": "images",
      "input_upload_ids": ["img-1760000000-1", "img-1760000000-2"]
    },
    "target": {
      "type": "pdf",
      "path": "/tmp/sdk-demo/converted.pdf"
    },
    "options": {
      "export_type": "multi-page",
      "quality": 90
    }
  }
}

PDF 指定页拆成 PNG:

json
{
  "request_id": "req-convert-003",
  "method": "file.convert",
  "params": {
    "source": {
      "type": "pdf",
      "input_upload_id": "doc-1760000000-1",
      "pages": "1,3-5"
    },
    "target": {
      "type": "png",
      "dir": "/tmp/sdk-demo/pages"
    },
    "options": {
      "export_type": "single-page",
      "render_dpi": 144
    }
  }
}

Base64 图片转 JPG:

json
{
  "request_id": "req-convert-004",
  "method": "file.convert",
  "params": {
    "source": {
      "type": "base64",
      "base64": "data:image/png;base64,iVBORw0KGgo..."
    },
    "target": {
      "type": "jpg",
      "dir": "/tmp/sdk-demo/images"
    },
    "options": {
      "export_type": "single-page",
      "quality": 90
    }
  }
}

CZUR Open Platform Documentation