Layout Analysis
With the Layout Analysis tool of ComPDFKit Document AI, you can analyze all the layouts in Images. The following examples show how to upload a JPG file and run the Layout Analysis feature using Java, PHP, C#, Python, and Swift programming languages. Then, output a JSON file.
Java
// Create a client
CPDFClient client = new CPDFClient(publicKey,secretKey);
// Create a task
// Create an example of a DocumentAI Layout Analysis task
CPDFCreateTaskResult result = client.createTask(CPDFDocumentAIEnum.LAYOUTANALYSIS);
// Get a task id
String taskId = result.getTaskId();
// File handling parameter settings
CPDFLayoutAnalysisParameter fileParameter = new CPDFLayoutAnalysisParameter();
// Upload files
client.uploadFile(new File("test.jpg"), taskId, fileParameter);
// Execute task
client.executeTask(taskId);
// Query TaskInfo
CPDFTaskInfoResult taskInfo = client.getTaskInfo(taskId);
PHP
// Create a client
$client = new CPDFClient('public_key', 'secret_key');
// Create a task
// Create an example of a DocumentAI Layout Analysis task
$taskInfo = $client->createTask(CPDFDocumentAI::LAYOUTANALYSIS);
// Upload files
$fileInfo = $client->addFile('test.jpg')->uploadFile($taskInfo['taskId']);
// Execute task
$client->executeTask($taskInfo['taskId']);
// Query TaskInfo
$taskInfo = $client->getTaskInfo($taskInfo['taskId']);
C#
// Create a client
CPDFClient client = new CPDFClient(publicKey,secretKey);
// Create a task
// Create an example of a DocumentAI Layout Analysis task
CPDFCreateTaskResult result = client.CreateTask(CPDFDocumentAIEnum.LAYOUTANALYSIS);
// Get a task id
string taskId = result.TaskId;
// File handling parameter settings
CPDFLayoutAnalysisParameter fileParameter = new CPDFLayoutAnalysisParameter();
// Upload files
client.UploadFile(new FileInfo("test.jpg"), taskId, fileParameter);
// Execute task
client.ExecuteTask(taskId);
// Query TaskInfo
CPDFTaskInfoResult taskInfo = client.GetTaskInfo(taskId);
Python
# Create a client
client = CPDFClient(public_key, secret_key)
# Create a task
# Create an example of a DocumentAI Layout Analysis task
create_task_result = client.create_task(CPDFDocumentAIEnum.LAYOUTANALYSIS)
# Get a task id
task_id = create_task_result.task_id
# File handling parameter settings
file_parameter = CPDFLayoutAnalysisParameter()
# Upload files
client.upload_file('test.jpg', task_id, file_parameter)
# Execute task
client.execute_task(task_id)
# Query TaskInfo
task_info = client.get_task_info(task_id)
Swift
// Create a client
let client: CPDFClient = CPDFClient(publicKey: public_key, secretKey: secret_key)
Task { @MainActor in
// Create a task
// Create an example of a DocumentAI Layout Analysis task
let taskModel = await client.createTask(url: CPDFDocumentAI.LAYOUTANALYSIS)
// Get a task id
let taskId = taskModel?.taskId ?? ""
// Upload files
let path = Bundle.main.path(forResource: "test", ofType: "jpg")
let uploadFileModel = await client.uploadFile(filepath: path ?? "", params: [:], taskId: taskId)
// Execute task
let _ = await client.processFiles(taskId: taskId)
// Query TaskInfo
let taskInfoModel = await client.getTaskInfo(taskId: taskId)
}
Result:
File Type | Description |
---|---|
.json | OCR recognition results. |
Content:
Parameter | Description |
---|---|
cost | Time spent on form recognition. |
boxes | Enter the location of all detected object boxes for the image. |
labels | The labels of the detected objects. |
scores | The higher the score, the more reliable the result. |