Skip to content

文件转换接口

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

文件转换方法

方法参数响应 data说明
file.convertsource?: objecttarget?: objectoptions?: object;也支持 flat 字段 input_upload_id(s)input_path(s)output_pathoutput_dirtarget_diroutput_formatexport_typeexportTypepagesbase64task_id?input_path(s)output_pathoutput_paths[]output_formatexport_typesource_formatsource_page_countselected_page_countacceptedconvertedassetassets[]outputs[]provider同步执行文件转换,返回转换后的本地资产信息。

参数结构

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

source

字段类型说明
typestring来源类型:imageimagesbase64pdfofdtiff。未传时默认 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。支持 all1,3-5,页码从 1 开始。

target

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

options

字段类型说明
export_typestringsingle-pagemulti-page,兼容 single_page / multi_pagejpg / png 默认 single-page,其他目标默认 multi-page
qualitynumber输出质量,默认 90。当前实现按阈值映射为高/中/低质量:>=70 高,>=40 中,否则低。
render_dpinumber渲染 PDF/OFD 页为图片时使用的 DPI,默认 144
pagesstring页码选择;优先级高于 source.pages
tiff_colorstringTIFF 色彩,默认 colorgraygreygrayscale 会按灰度输出,其他值按彩色输出。
tiff_compressionstringTIFF 压缩,默认 lzw。支持 lzwnonejpeg / jpggroup4 / 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
文档来源限制pdfofdtiff 来源每次请求只接受一个输入文档。
输出目录默认值未传 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实际来源格式:imagepdfofdtiff
source_page_countnumber来源页数。图片来源按输入图片数量计数。
selected_page_countnumber参与转换的页数。
acceptednumber被接受转换的页数。
convertednumber生成的输出数量;多页合成通常为 1
assetobject第一个输出注册到本地资产服务后的信息。
assets[]array全部输出资产。
outputs[]array输出列表,元素包含 pathformatasset
providerstring实际执行的 provider,可能为 czur-graphic-providerczur-file-convert-provider

asset / assets[] 中包含 asset_idkindpathcontent_typesizeurldownload_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