PDF 文档解析 API 接口
由万码云开发平台提供的 PDF 文档解析 API 接口(PDF Parsing API),支持解析 PDF 文档中的文本、链接等多种内容,提供灵活的参数配置以满足多样化的需求。接口设计简洁,易于集成和调用,适用于文档管理、数据提取、信息分析等多个应用场景,帮助开发者快速实现 PDF 文件解析相关功能。
接口地址(免费版,文件大小不超过 2 MB)
POST https://wcode.net/api/parse/v3/pdf/free
注:免费版接口限制并发为 12 QPM(Query Per Minute,每分钟处理请求数),且文件大小不超过 2 MB
接口地址(付费版,文件大小不超过 32 MB)
POST https://wcode.net/api/parse/v3/pdf
付费版价格:0.01 元 / 500 字符(即解析 50000 字符的费用为 1 元),费用充值:https://wcode.net/apikey-recharge,费用发票:https://wcode.net/get-fapiao
字符数的计算:包含单字节字符、多字节字符、标点符号等,具体以下方接口响应示例为准。
字符数的计费:总字符数如果不足 500 字符,以 500 字符计费(即 0.01 元)。
请求方法
POST
快速开始(请求示例)
(注:以下请求示例中的 API_KEY
需要替换后再发起请求。 获取 API_KEY
入口:https://wcode.net/get-apikey)
curl --request POST 'https://wcode.net/api/parse/v3/pdf' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"file_url": "https://zdkjdemo.oss-cn-shanghai.aliyuncs.com/parse-pdf-api-demo.pdf"
}'
请求头(Request Headers)
Header | 值 | 备注 | 示例 | 相关链接 |
---|---|---|---|---|
Authorization | Bearer API_KEY |
格式:Bearer + 空格 + API_KEY | Bearer sk-..... |
获取 API_KEY 入口:https://wcode.net/get-apikey |
Content-Type | application/json |
固定为 application/json |
请求参数
参数 | 必填 | 参数类型 | 默认值 | 说明 |
---|---|---|---|---|
file_url |
是 | string | - | 要解析的 PDF 文件 URL |
注意事项:
file_url
需支持公网访问;- 调用 API 时,接口服务端会向
file_url
发起请求,请求的User-agent
为:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; WCodeNET/2.1; +https://wcode.net/parse-pdf-api
请确保此User-agent
可正常访问file_url
; file_url
对应文件的大小不能超过 32 MB,且不能小于 1 KB;- 服务端下载
file_url
超时时间为20
秒,超时将会返回失败,请确保file_url
网络通畅;
返回参数
返回参数 | 数据类型 | 说明 |
---|---|---|
status | string | 请求成功返回success ,失败返回failed |
error_message | string | 接口返回的错误消息。当status 为success 时,error_message 为空字符串 |
error_code | int 或 null | 接口返回的错误码。当status 为success 时,error_code 为 null |
data | object 或 null | 接口返回的数据。当status 为failed 时,data 为 null |
data.markdown | string | Markdown 格式的解析结果 |
data.html | string | HTML 格式的解析结果 |
data.usage | object | 本次解析的统计与费用信息 |
data.usage.total_characters | int | 本次解析的字符数统计 |
data.usage.total_cost | float | 本次解析产生的费用 |
data.api_version | string | 当前所使用的 API 的版本,免费版为free ,付费版为paid |
data.api_docs | string | 当前所使用的 API 的文档链接 |
响应头(Response Headers)
Header | 说明 | 示例 | 相关链接 |
---|---|---|---|
X-Account-Balance | API_KEY 余额(元) | 123.0165 |
API_KEY 费用充值入口:https://wcode.net/apikey-recharge |
请求示例
curl --request POST 'https://wcode.net/api/parse/v3/pdf' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"file_url": "https://zdkjdemo.oss-cn-shanghai.aliyuncs.com/parse-pdf-api-demo.pdf"
}'
响应示例
{
"status": "success",
"error_message": "",
"error_code": null,
"data": {
"markdown": "调用简洁易用的 API,\n\n轻松构建你的下一个创新应用!\n\n<> https://wcode.net </>\n\n万码云开发平台提供易用、高效的 API 接口,助力开发者专注核心业务创新。无需繁琐\n\n编程,开发者即可通过简单的调用完成强大的功能,节省开发时间,加速项目落地,实\n\n现快速部署。\n\n灵活的 API 调用与集成\n\n支持与各种系统和应用无缝集成,开发者可以轻松构建定制化的解决方案,解决不同业\n\n务场景下的问题。\n\n清晰的文档与代码示例\n\n清晰的文档与代码示例,帮助开发者快速上手,高效投入业务系统开发。\n\n由开发者社区驱动\n\n立足开发者社区,所有 API 的更新和优化都基于社区的反馈,我们期待每一位开发者的\n\n声音。\n\n开放,共享,赋能开发者\n\n为开发者提供强大的 API 支持,让每个创意都能在这里轻松实现构建、升级和优化。\n\n\n",
"html": "<p>调用简洁易用的 API,</p>\n<p>轻松构建你的下一个创新应用!</p>\n<p><> <a href=\"https://wcode.net\">https://wcode.net</a> </></p>\n<p>万码云开发平台提供易用、高效的 API 接口,助力开发者专注核心业务创新。无需繁琐</p>\n<p>编程,开发者即可通过简单的调用完成强大的功能,节省开发时间,加速项目落地,实</p>\n<p>现快速部署。</p>\n<p>灵活的 API 调用与集成</p>\n<p>支持与各种系统和应用无缝集成,开发者可以轻松构建定制化的解决方案,解决不同业</p>\n<p>务场景下的问题。</p>\n<p>清晰的文档与代码示例</p>\n<p>清晰的文档与代码示例,帮助开发者快速上手,高效投入业务系统开发。</p>\n<p>由开发者社区驱动</p>\n<p>立足开发者社区,所有 API 的更新和优化都基于社区的反馈,我们期待每一位开发者的</p>\n<p>声音。</p>\n<p>开放,共享,赋能开发者</p>\n<p>为开发者提供强大的 API 支持,让每个创意都能在这里轻松实现构建、升级和优化。</p>\n",
"usage": {
"total_characters": 328,
"total_cost": 0.01,
"total_cost_currency": "CNY",
"total_cost_currency_symbol": "¥"
},
"api_version": "paid",
"api_docs": "https://wcode.net/parse-pdf-api"
}
}
Python 代码示例(Requests)
import requests
import json
url = "https://wcode.net/api/parse/v3/pdf"
payload = json.dumps({
"file_url": "https://zdkjdemo.oss-cn-shanghai.aliyuncs.com/parse-pdf-api-demo.pdf"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY' # TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Java 代码示例(OkHttp)
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"file_url\": \"https://zdkjdemo.oss-cn-shanghai.aliyuncs.com/parse-pdf-api-demo.pdf\"}");
Request request = new Request.Builder()
.url("https://wcode.net/api/parse/v3/pdf")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer API_KEY") // TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
.build();
Response response = client.newCall(request).execute();
PHP 代码示例(Guzzle)
<?php
$client = new Client();
$headers = [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer API_KEY' // TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
];
$body = '{
"file_url": "https://zdkjdemo.oss-cn-shanghai.aliyuncs.com/parse-pdf-api-demo.pdf"
}';
$request = new Request('POST', 'https://wcode.net/api/parse/v3/pdf', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
...其他编程语言可参考 curl http 请求示例进行调用
异常响应示例
{
"status": "failed",
"error_message": "(HTTP 404 Not Found) Unable to download the file, please check the file url (https://...) and try again later",
"error_code": 400,
"data": null
}