Skip to content
On this page

Document Editor

PDF Split

With the PDF split tool, you can split your PDF file as you want. The following examples show how to upload a test PDF file and split it between pages 2 and 3, into two PDF files in a zip file using Java, PHP, C#, Python, and Swift languages.

Java
// Create a client
CPDFClient client = new CPDFClient(publicKey,secretKey);

// Create a task
// Create an example of a PDF split task
CPDFCreateTaskResult result = client.createTask(CPDFDocumentEditorEnum.SPLIT);

// Get a task id
String taskId = result.getTaskId();

// File handling parameter settings
CPDFPageSplitParameter fileParameter = new CPDFPageSplitParameter();
fileParameter.setPageOptions(Arrays.asList("1","2"));

// Upload files
client.uploadFile(new File("test.pdf"), 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 PDF split task
$taskInfo = $client->createTask(CPDFDocumentEditor::SPLIT);

// File handling parameter settings
$file = $client->addFile('test.pdf')
    ->setPageOptions(['1', '2']);

// Upload files
$fileInfo = $file->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 PDF split task
CPDFCreateTaskResult result = client.CreateTask(CPDFDocumentEditorEnum.SPLIT);

// Get a task id
string taskId = result.TaskId;

// File handling parameter settings
CPDFPageSplitParameter fileParameter = new CPDFPageSplitParameter();
fileParameter.PageOptions = new List<string>() { "1", "2" };

// Upload files
client.UploadFile(new FileInfo("test.pdf"), 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 PDF split task
create_task_result = client.create_task(CPDFDocumentEditorEnum.SPLIT)

# Get a task id
task_id = create_task_result.task_id

# File handling parameter settings
file_parameter = CPDFPageSplitParameter()
file_parameter.page_options = ["1", "2"]

# Upload files
client.upload_file('test.pdf', 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 PDF split task
    let taskModel = await client.createTask(url: CPDFDocumentEditor.SPLIT, language: .english)
    
    // Get a task id
    let taskId = taskModel?.taskId ?? ""

    // Upload files
    let path = Bundle.main.path(forResource: "test", ofType: "pdf")
    let uploadFileModel = await client.uploadFile(filepath: path ?? "", password: "", language: .english, params: [CPDFFileUploadParameterKey.pageOptions.string():["1-2"]], taskId: taskId)
    
    // Execute task
    let _ = await client.processFiles(taskId: taskId, language: .english)
    
    // Query TaskInfo
    let taskInfoModel = await client.getTaskInfo(taskId: taskId, language: .english)
}

Needed Parameters:

  • pageOptions: Page number collection, page number starts from 1. Page Range Example: 2-4 1,2,3 1-3,5 (this example is divided into 3 files, each file includes the following pages, separated by spaces).

​ File 1: Contain page 2, 3, 4.

​ File 2: Contain page 1, 2, 3.

​ File 3: Contain page 1, 2, 3, 5.

Result:

File TypeDescription
.pdfThe PDF file zip after splitting.