Skip to content
ComPDF
New Release

Open-Source PDF SDK & AI Document Processing

Get the full self-hosted SDK and AI document processing on GitHub. One-click deploy to quickly build your document workflows.

PDF Insert

With the PDF insert tool, you can insert your PDF file as you want. The following examples show how to upload a test PDF file and insert two PDF pages (height of 800 and width of 500) in front of page 1, 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 insert task
CPDFCreateTaskResult result = client.createTask(CPDFDocumentEditorEnum.INSERT);

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

// File handling parameter settings
CPDFPageInsertParameter fileParameter = new CPDFPageInsertParameter();
fileParameter.setTargetPage("1");
fileParameter.setWidth("500");
fileParameter.setHeight("800");
fileParameter.setNumber("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 insert task
$taskInfo = $client->createTask(CPDFDocumentEditor::INSERT);

// File handling parameter settings
$file = $client->addFile('test.pdf')
    ->setTargetPage('1')
    ->setWidth('500')
    ->setHeight('800')
    ->setNumber('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 insert task
CPDFCreateTaskResult result = client.CreateTask(CPDFDocumentEditorEnum.INSERT);

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

// File handling parameter settings
CPDFPageInsertParameter fileParameter = new CPDFPageInsertParameter();

fileParameter.TargetPage = "1";
fileParameter.Width = "500";
fileParameter.Height = "800";
fileParameter.Number = "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 insert task
create_task_result = client.create_task(CPDFDocumentEditorEnum.INSERT)

# Get a task id
task_id = create_task_result.task_id

# File handling parameter settings
file_parameter = CPDFPageInsertParameter()

file_parameter.target_page = "1"
file_parameter.width = "500"
file_parameter.height = "800"
file_parameter.number = "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 insert task
    let taskModel = await client.createTask(url: CPDFDocumentEditor.INSERT)
    
    // 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: "",params: [
        CPDFFileUploadParameterKey.targetPage.string() : "2",
        CPDFFileUploadParameterKey.width.string() : "500",
        CPDFFileUploadParameterKey.height.string() : "800",
        CPDFFileUploadParameterKey.number.string() : "2"
    ], taskId: taskId)
    
    // Execute task
    let _ = await client.processFiles(taskId: taskId)
    
    // Query TaskInfo
    let taskInfoModel = await client.getTaskInfo(taskId: taskId)
}

Needed Parameters:

  • targetPage: Page number.

  • width: Page width (default 595).

  • height: Page height (default 842).

  • number: Number of pages to insert (default 1).

Result:

File TypeDescription
.pdfThe PDF file after inserting pages.