Skip to content

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 TypeDescription
.jsonOCR recognition results.

Content:

ParameterDescription
costTime spent on form recognition.
boxesEnter the location of all detected object boxes for the image.
labelsThe labels of the detected objects.
scoresThe higher the score, the more reliable the result.