使用 PDF API 合并 PDF 文件
请参阅“如何在 Mac 上合并 PDF 文件”和无需 Adobe 即可合并 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 等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix