Image to HTML Tool Guide
Note:Before learning how to use different functions, we recommend that read the Request Workflow to know a basic PDF processing process. When using different functions, you can set their own special parameters when uploading files. Other basic steps are consistent.
Image to HTML:
{
"enableAiLayout": 1,
"isContainImg": 1,
"isContainAnnot": 1,
"enableOcr": 0,
"ocrRecognitionLang": "AUTO",
"pageLayoutMode": "e_Flow",
"htmlOption": "e_SinglePage"
}
Required parameters
enableAiLayout
: Whether to enable AI layout analysis (0: not enabled; 1: enabled). Default 1.
isContainImg
: Whether to include images during conversion (0: not enabled; 1: enabled). Default 1.
isContainAnnot
: Whether to include annotations during conversion (0: not enabled; 1: enabled). Default 1.
enableOcr
: Whether to use OCR (0: not enabled; 1: enabled). Default is 0.
ocrLanguage
: OCR recognition language. 1: CHINESE; 2: CHINESE_TRA; 3: ENGLISH; 4: KOREAN; 5: JAPANESE; 6: LATIN; 7: DEVANAGARI; 8: AUTO. Default is 8.
pageLayoutMode
: Specify the layout mode. e_Box: fixed layout; e_Flow: reflowable layout. Default e_Flow.
Layout differences
Word's Streaming Layout Ideal for editing, with your editing, the content dynamically adapts to different positions. However, a Word file would display differently due to the incompatibility of various software or app versions. It makes it unsuitable for precise documentation like electronic files or certificates.
PDF's Fixed Page Layout: Ensures a stable, uniform appearance and print quality across all devices. The content and formatting are locked upon creation, making alterations difficult without affecting the overall layout. It's preferred for formal documentation such as business reports and official electronic records.
htmlOption
: brief Html option. e_SinglePage
: Convert the entire PDF file into a single HTML file.; e_SinglePageWithBookmark
: Convert the PDF file into a single HTML file with an outline for navigation at the beginning of the HTML page.; e_MultiPage
: Convert the PDF file into multiple HTML files.; e_MultiPageWithBookmark
: Convert the PDF file into multiple HTML files. Each HTML file corresponds to a PDF page, and users can navigate to the next HTML file via a link at the bottom of the HTML page. Default is e_SinglePage
.
Request Example:
Replace apiKey with the publicKey obtained from the dashboard, file with the file you want to convert, and language with your preferred interface error prompt language type.
curl --location --request POST 'https://api-server.compdf.com/server/v2/process/img/html' \
--header 'x-api-key: apiKey' \
--header 'Accept: */*' \
--header 'Connection: keep-alive' \
--header 'Content-Type: multipart/form-data' \
--form 'file=@"file"' \
--form 'password="" \
--form 'parameter="{ \"enableAiLayout\": 1, \"isContainImg\": 1, \"isContainAnnot\": 1, \"enableOcr\": 0, \"ocrRecognitionLang\": \"ENGLISH\"}"' \
--form 'language="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 }")
.build();
Request request = new Request.Builder()
.url("https://api-server.compdf.com/server/v2/process/img/html")
.method("POST", body)
.addHeader("x-api-key", "{{apiKey}}")
.build();
Response response = client.newCall(request).execute();
}
}
Response Information:
A successful request returns an HTTP 200 OK
status code and a JSON response body showing the order details.
Response type:application/json
Response Parameter | Data Type | Description |
---|---|---|
code | String | HTTP request status, "200" indicates success |
message | String | Request message |
data | Object | Return result |
+taskId | String | Task ID |
+taskFileNum | int | Number of files processed in the task |
+taskSuccessNum | int | Number of files successfully processed in the task |
+taskFailNum | int | Number of files failed in the task |
+taskStatus | String | Task status |
+assetTypeId | int | Used asset type ID |
+taskCost | int | Task cost |
+taskTime | int | Task duration |
+sourceType | String | Original format |
+targetType | String | Target format |
+fileInfoDTOList | Array | Task file information |
++fileKey | String | File key |
++taskId | String | Task ID |
++fileName | String | Original file name |
++downFileName | String | Download file name |
++fileUrl | String | Original file URL |
++downloadUrl | String | Processed result file download URL |
++sourceType | String | Original format |
++targetType | String | Target format |
++fileSize | int | File size |
++convertSize | int | Processed result file size |
++convertTime | int | Processing time |
++status | String | File processing status |
++failureCode | String | File processing failure error code |
++failureReason | String | File processing failure description |
++fileParameter | String | Processing parameter |
Response Example:
"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>"
}
]
}
Result:
File Type | Description |
---|---|
.zip | The HTML folder after the transfer process is completed |
Asynchronous Request
If you need to use the file asynchronous processing flow, please read the Asynchronous Request Instructions.