使用 PDF API 合并 PDF 文件

请参阅“如何在 Mac 上合并 PDF 文件”和无需 Adob​​e 即可合并 PDF 的更多信息。

1. 注册与认证

您可以注册一个免费的 ComPDFKit API 帐户,该帐户允许您在 30 天内免费无限制地处理 1,000 多个文档。

ComPDFKit API 使用 JSON Web Tokens 方法进行安全身份验证。从控制面板获取您的公钥和密钥,并按如下方式进行身份验证。

1
2
// 创建客户端
let client: CPDFClient  CPDFClient (publicKey: public_key, secretKey: secret_key)

  

2. 创建 PDF 合并任务

选择PDF合并工具,替换上一步获取到的accessToken,将错误信息的显示语言替换成自己想要的语言类型,然后就可以在响应数据中获取到taskId了。

1
2
3
4
5
// 创建任务
// 创建一个 PDF 合并任务的示例
    let taskModel await client.createTask(url: CPDFDocumentEditor . MERGE , language: .english)
// 获取任务 id
    let taskId = taskModel ? .taskId ??  ""

  

3.上传文件

上传需要合并的PDF文件,并将其与任务ID绑定。

1
2
3
4
5
// 上传文件
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)
// 上传文件
let uploadFileModel2 await client.uploadFile(filepath: path ??  "" ,language: .english ,params: [ CPDFFileUploadParameterKey .pageOptions.string():[ "1,2" ]], taskId: taskId)

  

笔记:

  • 同一个任务中,上传多个文件(最多五个)。如果不传递pageOptions,则进行多文件合并。
  • 在同一个任务中,上传多个文件(最多五个)及pageOptions,并合并多个文件的指定页码。
  • 上传接口仅支持单文件上传。

4.合并PDF文件

文件上传完成后,通过任务ID调用此接口进行文件合并。

1
2
// 执行任务
let  _  await client.processFiles(taskId: taskId, language: .english)

  

5.获取任务信息

根据任务ID请求任务状态和文件相关的元数据。

1
2
3
// 查询 TaskInfo
let taskInfoModel await client.getTaskInfo(taskId: taskId, language: .english)
}

  

完成后,您的完整代码应如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 创建一个客户端
let client: CPDFClient  CPDFClient (publicKey: public_key, secretKey: secret_key)
Task { @MainActor  in
    // 创建一个任务
    // 创建一个 PDF 合并任务的示例
    let taskModel await client.createTask(url: CPDFDocumentEditor . MERGE , language: .english)
    // 获取任务 id
    let taskId = taskModel ? .taskId ??  ""
    // 上传文件
    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)
    // 上传文件
    let uploadFileModel2 await client.uploadFile(filepath: path ??  "" ,language: .english ,params: [ CPDFFileUploadParameterKey .pageOptions.string():[ "1,2" ]], taskId: taskId)
 
    // 执行任务
    let  _  await client.processFiles(taskId: taskId, language: .english)
    // 查询任务信息
    let taskInfoModel await client.getTaskInfo(taskId: taskId, language: .english)
}

  

此外,您还可以从ComPDFKit PDF API库中找到更多有关合并 PDF 文件的教程,例如 Java、Python 等。

posted @   ComPDFKit  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示