Skip to content

PDF添加水印工具使用指南

注意:在学习使用不同函数之前,建议先阅读请求描述,了解基本的PDF处理流程。使用不同函数时,可以在上传文件时设置各自特殊的参数。其他基本步骤一致。

PDF 添加水印:

java
{
    "type": "text",
    "scale": "1",
    "opacity": "0.5",
    "rotation": "0.785",
    "targetPages": "1-2",
    "vertalign": "center",
    "horizalign": "left",
    "xoffset": "100",
    "yoffset": "100",
    "content": "test",
    "textColor": "#59c5bb",
    "front": "",
    "fullScreen": "111",
    "horizontalSpace": "10",
    "verticalSpace": "10",
    "extension": ""
}
参数说明
type水印类型(text:文本类型水印,image:图片类型水印)
scale缩放(图片类型属性)
opacity透明度:0~1
rotation旋转角度,正数表示逆时针旋转
targetPages页码,页码从1开始,如:1,2,4,6,9-11
vertalign垂直对齐(top、center、bottom)
horizalign水平对齐(left、center、right)
xoffset水平偏移
yoffset垂直偏移
content文本
textColor文本颜色,如:#FFFFFF
front显示在最前面
fullScreen是否填满整个页面
horizontalSpace水平间距(仅当存在 --fullscreen 时才支持)默认值 50
verticalSpace垂直间距(仅当存在 --fullscreen 时才支持)默认值 50
extension扩展信息,base64 编码

请求示例:

您需要将 apiKey 替换为您从控制台获取的 publicKey ,将 file 替换为您要转换的文件 ,language 替换为您想要的接口错误提示语言类型。

curl
curl --location --request POST 'https://api-server.compdf.com/server/v2/process/pdf/addWatermark' \
--header 'x-api-key: apiKey' \
--header 'Accept: */*' \
--header 'Connection: keep-alive' \
--header 'Content-Type: multipart/form-data' \
--form 'file=@"file"' \
--form 'password="" \
--form 'parameter="{    \"type\": \"image\",    \"scale\": \"1\",   \"opacity\":\"0.5\",    \"rotation\":\"0.785\",   \"targetPages\":\"1-5\",   \"vertalign\":\"center\",   \"horizalign\":\"left\",   \"xoffset\":\"100\",   \"yoffset\":\"100\",   \"front\":\"\",    \"fullScreen\":\"111\",   \"horizontalSpace\":\"10\",   \"verticalSpace\":\"10\",   \"extension\":\"\"}"' \
--form 'language="1"'
java
import java.io.*;
import okhttp3.*;
public class main {
  public static void main(String []args) throws IOException{
    OkHttpClient client = new OkHttpClient().newBuilder()
      .build();
    MediaType mediaType = MediaType.parse("text/plain");
    RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
      .addFormDataPart("file","{{file}}",
 RequestBody.create(MediaType.parse("application/octet-stream"),
                                          new File("<file>")))
      .addFormDataPart("language","{{language}}")
      .addFormDataPart("password","")
      .addFormDataPart("parameter","{    \"type\": \"image\",    \"scale\": \"1\",   \"opacity\":\"0.5\",    \"rotation\":\"0.785\",   \"targetPages\":\"1-5\",   \"vertalign\":\"center\",   \"horizalign\":\"left\",   \"xoffset\":\"100\",   \"yoffset\":\"100\",   \"front\":\"\",    \"fullScreen\":\"111\",   \"horizontalSpace\":\"10\",   \"verticalSpace\":\"10\",   \"extension\":\"\"}")
      .addFormDataPart("image","",
                       RequestBody.create(MediaType.parse("application/octet-stream"),
                                          new File("")))
      .build();
    Request request = new Request.Builder()
      .url("https://api-server.compdf.com/server/v2/process/pdf/addWatermark")
      .method("POST", body)
      .addHeader("x-api-key", "{{apiKey}}")
      .build();
    Response response = client.newCall(request).execute();
  }
}

响应信息:

请求的成功响应返回 HTTP 200 OK 状态代码以及显示订单详细信息的 JSON 响应主体。

响应模式:application/json

响应参数数据类型描述
codeStringHTTP请求状态,"200"代表成功
messageString请求信息
dataObject返回结果
+taskIdString任务ID
+taskFileNumint任务处理文件数量
+taskSuccessNumint任务处理文件成功数量
+taskFailNumint任务处理文件失败数量
+taskStatusString任务状态
+assetTypeIdint使用资产类型ID
+taskCostint任务费用
+taskTimeint任务持续时间
+sourceTypeString原格式
+targetTypeString目标格式
+fileInfoDTOListArray任务文件信息
++fileKeyString文件key
++taskIdString任务ID
++fileNameString原文件名
++downFileNameString下载文件名
++fileUrlString原文件地址
++downloadUrlString处理结果文件下载地址
++sourceTypeString原格式
++targetTypeString目标格式
++fileSizeint文件大小
++convertSizeint处理结果文件大小
++convertTimeint处理消耗时间
++statusString文件处理状态
++failureCodeString文件处理失败错误码
++failureReasonString文件处理失败说明
++fileParameterString处理参数

响应示例:

json
"code": "200",
"msg": "success",
"data": {
    "taskId": "f416dbcf-0c10-4f93-ab9e-a835c1f5dba1",
    "taskFileNum": 1,
    "taskSuccessNum": 1,
    "taskFailNum": 0,
    "taskStatus": "<taskStatus>",
    "assetTypeId": 0,
    "taskCost": 1,
    "taskTime": 1,
    "sourceType": "<sourceType>",
    "targetType": "<targetType>",
    "fileInfoDTOList": [
      {
        "fileKey": "<fileKey>",
        "taskId": "<taskId>",
        "fileName": "<fileName>",
        "downFileName": "<downFileName>",
        "fileUrl": "<fileUrl>",
        "downloadUrl": "<downloadUrl>",
        "sourceType": "<sourceType>",
        "targetType": "<targetType>",
        "fileSize": 24475,
        "convertSize": 6922,
        "convertTime": 8,
        "status": "<status>",
        "failureCode": "",
        "failureReason": "",
        "fileParameter": "<fileParameter>"
      }
    ]
}

结果:

文件类型说明
.pdf添加水印后的 PDF 文件

异步请求

如果您需要使用文件异步处理流程,请阅读异步请求说明