PDF to RTF API
BASE URLhttps://api-server.compdf.com/server/
❖ Feature Description
Convert PDF files to RTF for editable rich text output with broad compatibility.
❖ Request Mode
Synchronous Request (Sync) ✓
The API returns the result file directly after processing. Recommended for small files and real-time interactive scenarios that need immediate feedback.
Asynchronous Request (Async)
The API first returns task acceptance information, then you query progress and results with taskId. Suitable for large files and batch workloads.
Secure Request Mode
Upload and process files through secure mechanisms such as pre-signed URLs. Suitable for high-security and privacy compliance scenarios.
▎Call Flow
1Upload file
2Call API (sync)
3Get result URL
4Download file
▎Usage Limits
| Download validity | 24 hours |
synchronous执行
❖ Request Parameters
Authentication credential sent in the header: x-api-key
Body Parameters multipart/form-data
No file selected
Upload file
File password (if the PDF is password-protected)
API error message language (1 = English, 2 = Chinese)
Specify page numbers to convert, starting from 1, for example 1-3,6. Default is empty, which means all pages.
Whether to use OCR (0 = disabled, 1 = enabled). Default is 0.
OCR recognition language code. See supported languages.
OCR recognition scope. Default is ALL: INVALID_CHARACTER (pages with garbled text), SCAN_PAGE (scanned pages), INVALID_CHARACTER_AND_SCAN_PAGE (both), or ALL (all pages).
Whether to output one file per page (0 = no, 1 = yes, default 0).
Enable AI layout analysis (0 = off, 1 = on, default 1).
Preserve images in the output (0 = no, 1 = yes, default 1).
Preserve annotations in the output (0 = no, 1 = yes, default 1).
Whether to include page background images during conversion (0 = disabled, 1 = enabled). This setting is effective only when OCR is enabled. Default is 1.
是否将公式转为图片(0=保持可编辑,1=转图片,默认 0)。
页面版式模式,默认 e_Flow:e_Flow 或 e_Box。
❖ Response Properties
| Field | Type | Description |
|---|---|---|
code | String | Business status code |
msg | String | Message |
data | Object | Response data |
data.fileKey | String | Unique key of the file in the storage system. |
data.taskId | String | Task ID |
data.fileName | String | Source file name. Required in presigned mode to generate the object storage upload URL. |
data.downFileName | String | Output file name after conversion. |
data.fileUrl | String | Source file storage URL or object storage key. |
data.downloadUrl | String | File download URL |
data.sourceType | String | Source file type |
data.targetType | String | Target file type |
data.fileSize | Integer | Source file size in bytes. |
data.convertSize | Integer | Converted file size in bytes. |
data.convertTime | Integer | Conversion time for a single file, typically in milliseconds. |
data.status | String | File processing status. Common values: success, failed, processing, etc. |
data.failureCode | String | Error code when file conversion fails. |
data.failureReason | String | Error reason when file conversion fails. |
data.fileParameter | String | Conversion parameter JSON string submitted when creating the task. |
Request Example
curl --request POST \
--url https://api-server.compdf.com/server/v2/process/pdf/rtf \
--header 'x-api-key: YOUR API-KEY' \
--form [email protected]Response Example
200 OK
{
"code": "200",
"msg": "success",
"data": {
"fileKey": "<string>",
"taskId": "<string>",
"fileName": "<string>",
"downFileName": "<string>",
"fileUrl": "<string>",
"downloadUrl": "<string>",
"sourceType": "<string>",
"targetType": "<string>",
"fileSize": 0,
"convertSize": 0,
"convertTime": 0,
"status": "<string>",
"failureCode": "<string>",
"failureReason": "<string>",
"fileParameter": "<string>"
}
}