文档解析
curl --request POST \
--url https://api.textin.com/api/v1/xparse/parse/sync \
--header 'Content-Type: multipart/form-data' \
--header 'x-ti-app-id: <api-key>' \
--header 'x-ti-secret-code: <api-key>' \
--form file='@example-file' \
--form 'file_url=<string>' \
--form 'config={
"document": {
"password": "example-pdf-password"
},
"capabilities": {
"include_hierarchy": true,
"include_inline_objects": true,
"include_char_details": true,
"include_image_data": true,
"include_table_structure": true,
"pages": true,
"title_tree": true,
"table_view": "html",
"remove_watermark": true,
"crop_dewarp": true
},
"scope": {
"page_range": "1-2"
},
"config": {
"force_engine": "textin",
"engine_params": {
"parse_mode": "scan",
"formula_level": 0,
"image_output_type": "url",
"recognize_chemical": true
}
}
}'{
"code": 200,
"message": "success",
"data": {
"schema_version": "1.3.0",
"file_id": "doc_7f3a2b",
"job_id": "job_x9k2m",
"success_count": 2,
"metadata": {
"filename": "quarterly_report.pdf",
"filetype": "application/pdf",
"page_count": 2,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
},
"markdown": "# 检验结果\n\n<table>\n <thead>\n <tr><th>项目</th><th>公式项</th><th>参考范围</th></tr>\n </thead>\n <tbody>\n <tr><td>空腹血糖</td><td>x^2+1</td><td>3.9-6.1</td></tr>\n </tbody>\n</table>\n\n乙方签字:李四\n\n设违约金函数f(x)=x^2+1。\n该违约金函数适用于逾期超过30日的场景。",
"elements": [
{
"element_id": "el_001",
"type": "Title",
"text": "检验结果",
"page_number": 1,
"coordinates": [
0.1,
0.12,
0.32,
0.12,
0.32,
0.16,
0.1,
0.16
],
"metadata": {
"category_depth": 0,
"children_ids": [
"el_002",
"el_003",
"el_004",
"el_005"
],
"is_continuation": false,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
}
},
{
"element_id": "el_002",
"type": "Table",
"text": "项目 公式项 参考范围\n空腹血糖 x^2+1 3.9-6.1",
"page_number": 1,
"coordinates": [
0.1,
0.2,
0.82,
0.2,
0.82,
0.36,
0.1,
0.36
],
"metadata": {
"parent_id": "el_001",
"ref_element_id": "el_001",
"is_continuation": false,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
},
"table_structure": {
"rows": 2,
"cols": 3,
"cells": [
{
"cell_id": "tbl_001_r1_c1",
"row": 1,
"col": 1,
"row_span": 1,
"col_span": 1,
"content_type": "text",
"text": "项目",
"coordinates": [
0.1,
0.2,
0.26,
0.2,
0.26,
0.24,
0.1,
0.24
]
},
{
"cell_id": "tbl_001_r2_c2",
"row": 2,
"col": 2,
"row_span": 1,
"col_span": 1,
"content_type": "formula",
"text": "x^2+1",
"coordinates": [
0.33,
0.24,
0.52,
0.24,
0.52,
0.28,
0.33,
0.28
],
"char_details": [
{
"index": 0,
"text": "x",
"coordinates": [
0.33,
0.24,
0.34,
0.24,
0.34,
0.28,
0.33,
0.28
],
"recognition": {
"confidence": 0.998,
"candidates": [
{
"text": "8",
"confidence": 0.998
}
]
}
}
]
}
]
}
},
{
"element_id": "el_003",
"type": "Image",
"sub_type": "diagram",
"text": "",
"page_number": 1,
"coordinates": [
0.56,
0.2,
0.8,
0.2,
0.8,
0.34,
0.56,
0.34
],
"image_data": {
"image_url": "https://example.com/fig-1.png",
"mime_type": "image/png"
},
"metadata": {
"parent_id": "el_001",
"width": 640,
"height": 360,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
}
},
{
"element_id": "el_004",
"type": "NarrativeText",
"text": "乙方签字:李四",
"page_number": 1,
"coordinates": [
0.1,
0.4,
0.3,
0.4,
0.3,
0.46,
0.1,
0.46
],
"metadata": {
"parent_id": "el_001",
"has_inline_objects": true,
"inline_object_types": [
"handwriting"
],
"is_continuation": false,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
},
"objects": [
{
"object_id": "obj_001",
"type": "handwriting",
"text": "李四",
"text_range": [
5,
7
],
"coordinates": [
0.18,
0.4,
0.26,
0.4,
0.26,
0.46,
0.18,
0.46
],
"metadata": {}
}
],
"char_details": [
{
"index": 0,
"text": "乙",
"coordinates": [
0.1,
0.4,
0.11,
0.4,
0.11,
0.46,
0.1,
0.46
],
"recognition": {
"confidence": 0.997,
"candidates": [
{
"text": "乙",
"confidence": 0.997
}
]
}
}
]
},
{
"element_id": "el_005",
"type": "NarrativeText",
"text": "设违约金函数f(x)=x^2+1。",
"page_number": 1,
"coordinates": [
0.1,
0.48,
0.36,
0.48,
0.36,
0.54,
0.1,
0.54
],
"metadata": {
"parent_id": "el_001",
"is_continuation": false,
"has_inline_objects": true,
"inline_object_types": [
"formula"
],
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
},
"objects": [
{
"object_id": "obj_002",
"type": "formula",
"text": "x^2+1",
"text_range": [
11,
16
],
"coordinates": [
0.22,
0.48,
0.3,
0.48,
0.3,
0.54,
0.22,
0.54
],
"metadata": {
"display_mode": "inline"
}
}
],
"char_details": [
{
"index": 0,
"text": "设",
"coordinates": [
0.1,
0.48,
0.11,
0.48,
0.11,
0.54,
0.1,
0.54
],
"recognition": {
"confidence": 0.999,
"candidates": [
{
"text": "设",
"confidence": 0.999
}
]
}
}
]
},
{
"element_id": "el_006",
"type": "NarrativeText",
"text": "该违约金函数适用于逾期超过30日的场景。",
"page_number": 2,
"coordinates": [
0.1,
0.1,
0.44,
0.1,
0.44,
0.16,
0.1,
0.16
],
"metadata": {
"is_continuation": true,
"continuation_of": "el_005",
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
}
}
],
"title_tree": [
{
"element_id": "el_001",
"title": "检验结果",
"level": 1,
"page_number": 1,
"children": []
}
],
"pages": [
{
"page_number": 1,
"page_width": 1576,
"page_height": 1683,
"page_image_url": "https://example.com/page-1.jpg",
"element_ids": [
"el_001",
"el_002",
"el_003",
"el_004",
"el_005"
],
"dpi": 144,
"angle": 0,
"status": "Success"
},
{
"page_number": 2,
"page_width": 1576,
"page_height": 1683,
"page_image_url": "https://example.com/page-2.jpg",
"element_ids": [
"el_006"
],
"dpi": 144,
"angle": 0,
"status": "Success"
}
],
"summary": {
"duration_ms": 812
}
}
}智能文档解析-新版
同步解析
将非结构化文档(image/pdf/word/html/excel/ppt/txt等)解析为 AI 友好的结构化数据(JSON、Markdown),包含丰富的元数据(可追溯、可解释、可验证)
POST
/
api
/
v1
/
xparse
/
parse
/
sync
文档解析
curl --request POST \
--url https://api.textin.com/api/v1/xparse/parse/sync \
--header 'Content-Type: multipart/form-data' \
--header 'x-ti-app-id: <api-key>' \
--header 'x-ti-secret-code: <api-key>' \
--form file='@example-file' \
--form 'file_url=<string>' \
--form 'config={
"document": {
"password": "example-pdf-password"
},
"capabilities": {
"include_hierarchy": true,
"include_inline_objects": true,
"include_char_details": true,
"include_image_data": true,
"include_table_structure": true,
"pages": true,
"title_tree": true,
"table_view": "html",
"remove_watermark": true,
"crop_dewarp": true
},
"scope": {
"page_range": "1-2"
},
"config": {
"force_engine": "textin",
"engine_params": {
"parse_mode": "scan",
"formula_level": 0,
"image_output_type": "url",
"recognize_chemical": true
}
}
}'{
"code": 200,
"message": "success",
"data": {
"schema_version": "1.3.0",
"file_id": "doc_7f3a2b",
"job_id": "job_x9k2m",
"success_count": 2,
"metadata": {
"filename": "quarterly_report.pdf",
"filetype": "application/pdf",
"page_count": 2,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
},
"markdown": "# 检验结果\n\n<table>\n <thead>\n <tr><th>项目</th><th>公式项</th><th>参考范围</th></tr>\n </thead>\n <tbody>\n <tr><td>空腹血糖</td><td>x^2+1</td><td>3.9-6.1</td></tr>\n </tbody>\n</table>\n\n乙方签字:李四\n\n设违约金函数f(x)=x^2+1。\n该违约金函数适用于逾期超过30日的场景。",
"elements": [
{
"element_id": "el_001",
"type": "Title",
"text": "检验结果",
"page_number": 1,
"coordinates": [
0.1,
0.12,
0.32,
0.12,
0.32,
0.16,
0.1,
0.16
],
"metadata": {
"category_depth": 0,
"children_ids": [
"el_002",
"el_003",
"el_004",
"el_005"
],
"is_continuation": false,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
}
},
{
"element_id": "el_002",
"type": "Table",
"text": "项目 公式项 参考范围\n空腹血糖 x^2+1 3.9-6.1",
"page_number": 1,
"coordinates": [
0.1,
0.2,
0.82,
0.2,
0.82,
0.36,
0.1,
0.36
],
"metadata": {
"parent_id": "el_001",
"ref_element_id": "el_001",
"is_continuation": false,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
},
"table_structure": {
"rows": 2,
"cols": 3,
"cells": [
{
"cell_id": "tbl_001_r1_c1",
"row": 1,
"col": 1,
"row_span": 1,
"col_span": 1,
"content_type": "text",
"text": "项目",
"coordinates": [
0.1,
0.2,
0.26,
0.2,
0.26,
0.24,
0.1,
0.24
]
},
{
"cell_id": "tbl_001_r2_c2",
"row": 2,
"col": 2,
"row_span": 1,
"col_span": 1,
"content_type": "formula",
"text": "x^2+1",
"coordinates": [
0.33,
0.24,
0.52,
0.24,
0.52,
0.28,
0.33,
0.28
],
"char_details": [
{
"index": 0,
"text": "x",
"coordinates": [
0.33,
0.24,
0.34,
0.24,
0.34,
0.28,
0.33,
0.28
],
"recognition": {
"confidence": 0.998,
"candidates": [
{
"text": "8",
"confidence": 0.998
}
]
}
}
]
}
]
}
},
{
"element_id": "el_003",
"type": "Image",
"sub_type": "diagram",
"text": "",
"page_number": 1,
"coordinates": [
0.56,
0.2,
0.8,
0.2,
0.8,
0.34,
0.56,
0.34
],
"image_data": {
"image_url": "https://example.com/fig-1.png",
"mime_type": "image/png"
},
"metadata": {
"parent_id": "el_001",
"width": 640,
"height": 360,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
}
},
{
"element_id": "el_004",
"type": "NarrativeText",
"text": "乙方签字:李四",
"page_number": 1,
"coordinates": [
0.1,
0.4,
0.3,
0.4,
0.3,
0.46,
0.1,
0.46
],
"metadata": {
"parent_id": "el_001",
"has_inline_objects": true,
"inline_object_types": [
"handwriting"
],
"is_continuation": false,
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
},
"objects": [
{
"object_id": "obj_001",
"type": "handwriting",
"text": "李四",
"text_range": [
5,
7
],
"coordinates": [
0.18,
0.4,
0.26,
0.4,
0.26,
0.46,
0.18,
0.46
],
"metadata": {}
}
],
"char_details": [
{
"index": 0,
"text": "乙",
"coordinates": [
0.1,
0.4,
0.11,
0.4,
0.11,
0.46,
0.1,
0.46
],
"recognition": {
"confidence": 0.997,
"candidates": [
{
"text": "乙",
"confidence": 0.997
}
]
}
}
]
},
{
"element_id": "el_005",
"type": "NarrativeText",
"text": "设违约金函数f(x)=x^2+1。",
"page_number": 1,
"coordinates": [
0.1,
0.48,
0.36,
0.48,
0.36,
0.54,
0.1,
0.54
],
"metadata": {
"parent_id": "el_001",
"is_continuation": false,
"has_inline_objects": true,
"inline_object_types": [
"formula"
],
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
},
"objects": [
{
"object_id": "obj_002",
"type": "formula",
"text": "x^2+1",
"text_range": [
11,
16
],
"coordinates": [
0.22,
0.48,
0.3,
0.48,
0.3,
0.54,
0.22,
0.54
],
"metadata": {
"display_mode": "inline"
}
}
],
"char_details": [
{
"index": 0,
"text": "设",
"coordinates": [
0.1,
0.48,
0.11,
0.48,
0.11,
0.54,
0.1,
0.54
],
"recognition": {
"confidence": 0.999,
"candidates": [
{
"text": "设",
"confidence": 0.999
}
]
}
}
]
},
{
"element_id": "el_006",
"type": "NarrativeText",
"text": "该违约金函数适用于逾期超过30日的场景。",
"page_number": 2,
"coordinates": [
0.1,
0.1,
0.44,
0.1,
0.44,
0.16,
0.1,
0.16
],
"metadata": {
"is_continuation": true,
"continuation_of": "el_005",
"data_source": {
"record_locator": {
"protocol": "file",
"remote_file_path": "/projects/demo/quarterly_report.pdf"
},
"url": "file:///projects/demo/quarterly_report.pdf"
}
}
}
],
"title_tree": [
{
"element_id": "el_001",
"title": "检验结果",
"level": 1,
"page_number": 1,
"children": []
}
],
"pages": [
{
"page_number": 1,
"page_width": 1576,
"page_height": 1683,
"page_image_url": "https://example.com/page-1.jpg",
"element_ids": [
"el_001",
"el_002",
"el_003",
"el_004",
"el_005"
],
"dpi": 144,
"angle": 0,
"status": "Success"
},
{
"page_number": 2,
"page_width": 1576,
"page_height": 1683,
"page_image_url": "https://example.com/page-2.jpg",
"element_ids": [
"el_006"
],
"dpi": 144,
"angle": 0,
"status": "Success"
}
],
"summary": {
"duration_ms": 812
}
}
}授权
请求体
multipart/form-data
上传文档文件,与 file_url 二选一
文档 URL,与 file 二选一
解析参数配置
Show child attributes
Show child attributes
示例:
{
"document": { "password": "example-pdf-password" },
"capabilities": {
"include_hierarchy": true,
"include_inline_objects": true,
"include_char_details": true,
"include_image_data": true,
"include_table_structure": true,
"pages": true,
"title_tree": true,
"table_view": "html",
"remove_watermark": true,
"crop_dewarp": true
},
"scope": { "page_range": "1-2" },
"config": {
"force_engine": "textin",
"engine_params": {
"parse_mode": "scan",
"formula_level": 0,
"image_output_type": "url",
"recognize_chemical": true
}
}
}响应
解析结果
状态码
- 200: 成功
- 40101: x-ti-app-id 或 x-ti-secret-code 为空
- 40102: x-ti-app-id 或 x-ti-secret-code 无效,验证失败
- 40103: 客户端IP不在白名单
- 40003: 余额不足,请充值后再使用
- 40004: 参数错误,请查看技术文档,检查传参
- 40007: 机器人不存在或未发布
- 40008: 机器人未开通,请至市场开通后重试
- 40301: 图片类型不支持
- 40302: 上传文件大小不符,文件大小不超过 500M
- 40303: 文件类型不支持,接口会返回实际检测到的文件类型,如"当前文件类型为.gif"
- 40304: 图片尺寸不符,长宽比小于2的图片宽高需在20~20000像素范围内,其他图片的宽高需在20~10000像素范围内
- 40305: 识别文件未上传
- 40306: qps超过限制
- 40307: 今日免费额度已用完
- 40422: 文件损坏(The file is corrupted.)
- 40423: PDF密码错误(Password required or incorrect password.)
- 40424: 页数设置超出文件范围(Page number out of range.)
- 40425: 文件格式不支持(The input file format is not supported.)
- 40427: DPI参数不在支持列表中(Input DPI is not in the allowed DPIs list(72,144,216).)
- 40428: word和ppt转pdf失败或者超时(Process office file failed.)
- 40429: 不支持的引擎(Unsupported Engine.)
- 50207: 部分页面解析失败(Partial failed)
- 40400: 无效的请求链接,请检查链接是否正确
- 30203: 基础服务故障,请稍后重试
- 500: 服务器内部错误
可用选项:
200, 40101, 40102, 40103, 40003, 40004, 40007, 40008, 40301, 40302, 40303, 40304, 40305, 40306, 40307, 40422, 40423, 40424, 40425, 40427, 40428, 40429, 50207, 40400, 30203, 500 示例:
200
状态信息
示例:
"success"
错误定位信息,仅在解析错误时返回
Show child attributes
Show child attributes
Show child attributes
Show child attributes
此页面对您有帮助吗?
⌘I

