当前位置: 首页 > article >正文

使用 PDF API 合并 PDF 文件

内容来源: 如何在 Mac 上合并 PDF 文件

1. 注册与认证

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

 

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

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

2. 创建 PDF 合并任务

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

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

3.上传文件

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

// 上传文件
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调用此接口进行文件合并。

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

5.获取任务信息

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

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

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

// 创建一个客户端
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) 
}


http://www.kler.cn/a/397517.html

相关文章:

  • CentOS 源码安装FFmpeg
  • 基于PHP技术的校园站的设计与实现
  • 数据结构-二叉树及其遍历
  • c++入门--引用与指针,const与引用,NULL与nullptr
  • C/C++语言基础--initializer_list表达式、tuple元组、pair对组简介
  • 【2025最新计算机毕业设计】基于SpringBoot+Vue电脑在线装机指南教程网站【源码+文档】
  • Vue 组件通信及进阶语法
  • 深入解析 OpenHarmony 构建系统-4-OHOSLoader类
  • HCIP-HarmonyOS Application Developer 习题(二十二)
  • 【鸿蒙开发】第十七章 Camera相机服务
  • 网络协议之TCP
  • RapidIO介绍
  • NX二次开发将刀轨转曲线
  • It’s All About Your Sketch: Democratising Sketch Control in Diffusion Models
  • 【CubeMX-HAL库】STM32H743II——SDRAM配置所遇问题
  • ubuntu20.04安装anaconda
  • 基于JavaWeb的四季青敬老院系统的设计与实现
  • MongoDB聚合管道数组操作
  • 集群搭建高可用
  • IPv6路由基础
  • Ubuntu24.04挂载磁盘
  • Docker实践与应用举例:构建高效开发与部署环境
  • __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined
  • Spring Boot 集成 Kettle
  • 计算机毕业设计Hadoop+大模型空气质量预测 空气质量可视化 空气质量分析 空气质量爬虫 Spark 机器学习 深度学习 Django 大模型
  • 【网页设计】HTML5 和 CSS3 提高