Skip to content
全新发布

PDF SDK 与 AI 文档处理

在 GitHub 获取完整的私有化部署SDK 包及 AI 智能文档处理能力,一键部署,快速构建您的文档处理工作流。

PDF 加密 API

BASE URLhttps://api-server.compdf.com/server/

❖ 功能说明

为单个 PDF 设置用户密码、所有者密码和权限控制。

❖ 调用方式

同步请求 (Sync)
接口完成后直接返回结果文件。推荐在小文件、前端实时交互等需要即时反馈的场景下使用。
异步请求 (Async)
先返回任务受理结果,再通过 taskId 查询处理进度和结果。适用于大文件及批量执行任务。
预签名请求方式
通过预签名等安全机制上传处理,适用于高安全性要求及数据隐私合规场景。

▎调用流程

1上传文件
2调用接口(同步)
3获取结果地址
4下载文件

▎使用限制

下载有效期24 小时

PDF 加密(同步)

POSThttps://api-server.compdf.com/server/v2/process/pdf/encrypt

❖ 请求参数 (Parameters)

在 Header 中发送的 x-api-key 认证凭证

Body Parameters multipart/form-data

未选择文件
上传文件
文件密码(如果 PDF 有密码保护)
接口错误提示语言(1=English,2=中文)
用户密码,即加密后打开 PDF 时需要输入的密码。userPassword 和 ownerPassword 建议至少填写一个。
所有者密码,用于权限控制和后续解除限制,可控制打印、复制、编辑、批注、表单填写等权限。建议与 userPassword 使用不同值。
加密算法。可选值:rc4、aes128、aes256。默认值:rc4。
是否允许打印。填写 true 或 false。默认值:false。
是否允许复制 PDF 内容。填写 true 或 false。默认值:false。
是否允许修改文档内容。填写 true 或 false。默认值:false。
是否允许页面装配,例如插入、删除、旋转或重新排序页面。填写 true 或 false。默认值:false。
是否允许添加或修改批注。填写 true 或 false。默认值:false。
是否允许填写表单字段。填写 true 或 false。默认值:false。
输出文件名

❖ 响应属性说明

字段类型说明
codeString业务状态码
msgString返回信息
dataObject响应数据
data.fileKeyString文件在存储系统中的唯一 key。
data.taskIdString任务ID
data.fileNameString源文件名称。预签名模式必填,用于生成对象存储上传地址。
data.downFileNameString转换完成后的输出文件名。
data.fileUrlString源文件存储地址或对象存储 key。
data.downloadUrlString文件下载地址
data.sourceTypeString源文件类型
data.targetTypeString目标文件类型
data.fileSizeInteger源文件大小,单位为字节。
data.convertSizeInteger转换结果文件大小,单位为字节。
data.convertTimeInteger单个文件转换耗时,单位通常为毫秒。
data.statusString文件处理状态。常见值包括 success、failed、processing 等。
data.failureCodeString文件转换失败时的错误码
data.failureReasonString文件转换失败时的错误原因。
data.fileParameterString创建任务时提交的转档参数 JSON 字符串。
🔗请求示例 (Request)
curl --request POST \
  --url https://api-server.compdf.com/server/v2/process/pdf/encrypt \
  --header 'x-api-key: YOUR API-KEY' \
  --form [email protected] \
  --form algorithm=rc4
响应示例 (Response)
200 OK
{
  "code": "200",
  "msg": "success",
  "data": {
    "fileKey": "saas/2026/06/30/[email protected]",
    "taskId": "bce85055-093a-49da-94c3-7f3fdf3ee527",
    "fileName": "input.pdf",
    "downFileName": "encrypted.pdf",
    "fileUrl": "https://example.com/source.pdf",
    "downloadUrl": "https://example.com/result.pdf",
    "sourceType": "pdf",
    "targetType": "encrypt",
    "fileSize": 123456,
    "convertSize": 123000,
    "convertTime": 1200,
    "status": "success",
    "failureCode": null,
    "failureReason": null,
    "fileParameter": "{\"userPassword\":\"123456\",\"algorithm\":\"aes256\"}"
  }
}