PDF 合并
使用 PDF 合并工具,您可以根据需要合并 PDF 文件。以下示例展示了如何使用 Java、PHP、C#、Python 和 Swift 语言上传两个测试 PDF 文件并将每个 PDF 文件的 1~2 页合并为一个 PDF 文件。
Java
// Create a client
CPDFClient client = new CPDFClient(publicKey,secretKey);
// Create a task
// Create an example of a PDF merge task
CPDFCreateTaskResult result = client.createTask(CPDFDocumentEditorEnum.MERGE);
// Get a task id
String taskId = result.getTaskId();
// File handling parameter settings
CPDFPageMergeParameter fileParameter = new CPDFPageMergeParameter();
fileParameter.setPageOptions(Arrays.asList("1","2"));
// Upload files
client.uploadFile(new File("test.pdf"), taskId, fileParameter);
File fileSecond = new File("sample/test.pdf");
// File handling parameter settings
CPDFPageMergeParameter fileParameterSecond = new CPDFPageMergeParameter();
fileParameterSecond.setPageOptions(Arrays.asList("1","2"));
// upload File
client.uploadFile(fileSecond,taskId,fileParameterSecond);
// 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 merge task
$taskInfo = $client->createTask(CPDFDocumentEditor::MERGE);
// File handling parameter settings
$fileOne = $client->addFile('test.pdf')
->setPageOptions(['1', '2']);
// Upload files
$fileInfoOne = $fileOne->uploadFile($taskInfo['taskId']);
// File handling parameter settings
$fileTwo = $client->addFile('test.pdf')
->setPageOptions(['1', '2']);
// Upload files
$fileInfoTwo = $fileTwo->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 merge task
CPDFCreateTaskResult result = client.CreateTask(CPDFDocumentEditorEnum.MERGE);
// Get a task id
string taskId = result.TaskId;
// File handling parameter settings
CPDFPageMergeParameter fileParameter = new CPDFPageMergeParameter();
fileParameter.PageOptions = new List<string>() { "1", "2" };
// Upload files
client.UploadFile(new FileInfo("test.pdf"), taskId, fileParameter);
// File handling parameter settings
CPDFPageMergeParameter fileParameterSecond = new CPDFPageMergeParameter();
fileParameterSecond.PageOptions = new List<string>() { "1", "2" };
// Upload files
client.UploadFile(new FileInfo("test.pdf"), taskId, fileParameterSecond);
// 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 merge task
create_task_result = client.create_task(CPDFDocumentEditorEnum.MERGE)
# Get a task id
task_id = create_task_result.task_id
# File handling parameter settings
file_parameter = CPDFPageMergeParameter()
file_parameter.page_options = ["1", "2"]
# Upload files
client.upload_file('test.pdf', task_id, file_parameter)
# File handling parameter settings
file_parameter_second = CPDFPageMergeParameter()
file_parameter_second.page_options = ["1", "2"]
# Upload files
client.upload_file('test.pdf', task_id, file_parameter_second)
# 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 merge task
let taskModel = await client.createTask(url: CPDFDocumentEditor.MERGE, 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 ?? "", language: .english, params: [CPDFFileUploadParameterKey.pageOptions.string():["1,2"]], taskId: taskId)
// Upload files
let uploadFileModel2 = await client.uploadFile(filepath: path ?? "",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)
}
所需参数:
- pageOptions:合并文档的页面范围,页码从1开始,例如:1,2,4,6,9-11(默认不输入所有页面,输入的页码不能超过文档的最大页码)
结果:
文件类型 | 描述 |
---|---|
合并后的PDF文件。 |