智能文档解析工具使用指南
输出.Json格式文件
注意:在学习使用不同函数之前,建议先阅读请求描述,了解基本的PDF处理流程。使用不同函数时,可以在上传文件时设置各自特殊的参数。其他基本步骤一致。
智能文本提取:
{
"enableAiLayout": 1,
"isContainImg": 1,
"isContainAnnot": 1,
"enableOcr": 0,
"ocrRecognitionLang": "AUTO",
"pageRanges": "1,2,3-5",
"resolveType": "EXTRACT"
}
所需参数
enableAiLayout
:是否开启AI版面分析(0: 不开启;1: 开启)。默认 1。
isContainImg
:转换时是否包含图像(0: 不开启;1: 开启)。默认 1。
isContainAnnot
:转换时是否包含注释(0: 不开启;1: 开启)。默认 1。
enableOcr
:是否使用OCR(0: 不开启;1: 开启)。默认 0。
ocrRecognitionLang
:OCR识别语言,支持的类型和定义:
AUTO: 自动,CHINESE: 中文简体,CHINESE_TRAD: 中文繁体,ENGLISH: 英语,KOREAN: 韩语,JAPANESE: 日语,LATIN: 拉丁语,DEVANAGARI: 梵文,CYRILLIC: 西里尔语,ARABIC: 阿拉伯语,TAMIL: 泰米尔语,TELUGU: 泰卢固语,KANNADA: 卡纳达语;默认 AUTO。
pageRanges
:指定页码转换,从1开始。默认 空。
resolveType
:提取JSON内容类型。 TEXT:仅文本; TABLE:仅表格; IMAGE:仅图;EXTRACT:提取所有; 。默认 EXTRACT。
请求示例:
您需要将 apiKey 替换为您从控制台获取的 publicKey,将 file 替换为您要转换的文件 ,language 替换为您想要的接口错误提示语言类型。
curl --location --request POST 'https://api-server.compdf.com/server/v2/process/pdf/csv' \
--header 'x-api-key: apiKey' \
--form 'file=@"test.pdf"' \
--form 'language=""' \
--form 'password=""' \
--form 'parameter={ "enableOcr": 1 }'
import java.io.*;
import okhttp3.*;
public class main {
public static void main(String []args) throws IOException{
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{{file}}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("<file>")))
.addFormDataPart("language","{{language}}")
.addFormDataPart("password","")
.addFormDataPart("parameter","{ \"enableOcr\":1, \"isContainImg\":0}")
.build();
Request request = new Request.Builder()
.url("https://api-server.compdf.com/server/v2/process/pdf/json")
.method("POST", body)
.addHeader("x-api-key", "{{apiKey}}")
.build();
Response response = client.newCall(request).execute();
}
}
响应信息:
请求的成功响应返回 HTTP 200 OK
状态代码以及显示订单详细信息的 JSON 响应主体。
响应模式:application/json
响应参数 | 数据类型 | 描述 |
---|---|---|
code | String | HTTP请求状态,"200"代表成功 |
message | String | 请求信息 |
data | Object | 返回结果 |
+taskId | String | 任务ID |
+taskFileNum | int | 任务处理文件数量 |
+taskSuccessNum | int | 任务处理文件成功数量 |
+taskFailNum | int | 任务处理文件失败数量 |
+taskStatus | String | 任务状态 |
+assetTypeId | int | 使用资产类型ID |
+taskCost | int | 任务费用 |
+taskTime | int | 任务持续时间 |
+sourceType | String | 原格式 |
+targetType | String | 目标格式 |
+fileInfoDTOList | Array | 任务文件信息 |
++fileKey | String | 文件key |
++taskId | String | 任务ID |
++fileName | String | 原文件名 |
++downFileName | String | 下载文件名 |
++fileUrl | String | 原文件地址 |
++downloadUrl | String | 处理结果文件下载地址 |
++sourceType | String | 原格式 |
++targetType | String | 目标格式 |
++fileSize | int | 文件大小 |
++convertSize | int | 处理结果文件大小 |
++convertTime | int | 处理消耗时间 |
++status | String | 文件处理状态 |
++failureCode | String | 文件处理失败错误码 |
++failureReason | String | 文件处理失败说明 |
++fileParameter | String | 处理参数 |
响应示例:
"code": "200",
"msg": "success",
"data": {
"taskId": "f416dbcf-0c10-4f93-ab9e-a835c1f5dba1",
"taskFileNum": 1,
"taskSuccessNum": 1,
"taskFailNum": 0,
"taskStatus": "<taskStatus>",
"assetTypeId": 0,
"taskCost": 1,
"taskTime": 1,
"sourceType": "<sourceType>",
"targetType": "<targetType>",
"fileInfoDTOList": [
{
"fileKey": "<fileKey>",
"taskId": "<taskId>",
"fileName": "<fileName>",
"downFileName": "<downFileName>",
"fileUrl": "<fileUrl>",
"downloadUrl": "<downloadUrl>",
"sourceType": "<sourceType>",
"targetType": "<targetType>",
"fileSize": 24475,
"convertSize": 6922,
"convertTime": 8,
"status": "<status>",
"failureCode": "",
"failureReason": "",
"fileParameter": "<fileParameter>"
}
]
}
结果:
文件类型 | 说明 |
---|---|
.Zip | 该zip文件包含Json结果文件和图片文件夹。 |
内容
参数 | 说明 |
---|---|
rect | 对象在页面中的位置 |
page | 对象所在的页码 |
order_index | 对象在当前页面的阅读顺序位置 |
type | 用于标识对象的类型。目前支持的对象类型有: Text:普通文本类型对象,包含文本内容。 Image:图片类型对象,包含图片的路径。 Table和UnstdTable:表格类型对象,包含表格的内容和结构。 Catalogue:目录类型对象,包含目录的内容 List和UnorderedList:列表类型对象,包含列表的内容 Formula:公式类型对象,包含公式的内容 Header:页眉类型对象,包含页眉的内容 Footer:页脚类型对象,包含页脚的内容 PageNumber:页码类型对象,包含页码的内容 FigureTitle:图形标题类型对象,包含图形标题的内容 FigureCaption:图形标题类型对象,包含图形标题的内容 |
{
"version": "1.0.0",
"objects": [
{
"type": "Header",
"rect": [
49.0,
43.5,
171.5,
76.0
],
"text": "Intelligent Document Parsing",
"page": 0,
"order_index": 0
}
]
}
异步请求
如果您需要使用文件异步处理流程,请阅读异步请求说明。