高级 PDF 工具指南
水印工具指南
PDF 添加水印工具指南
注意:在学习如何使用不同功能之前,建议先阅读 请求描述,了解基本的 PDF 处理流程。使用不同功能时,可以在上传文件时设置各自的特殊参数。其他基本步骤一致。
PDF 添加水印:
{
"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 编码 |
示例
授权
您需要将认证响应中的 和 替换为从控制台获取的 publicKey 和 secretKey,并使用 accessToken。
curlcurl --location --request POST 'https://api-server.compdf.com/server/v1/oauth/token' \ --header 'Content-Type: application/json' \ --data-raw '{ "publicKey": "publicKey", "secretKey": "secretKey" }'
javaimport 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 = RequestBody.create(mediaType, "{\n \"publicKey\": \"{{public_key}}\",\n \"secretKey\": \"{{secret_key}}\"\n}"); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/oauth/token") .method("POST", body) .build(); Response response = client.newCall(request).execute(); } }
创建任务
您需要将 替换为上一步获取的 accessToken,将 ***替换为所需的界面和任务错误消息语言类型。请求成功后,您将从响应中收到 taskId。
curlcurl --location --request GET 'https://api-server.compdf.com/server/v1/task/pdf/addWatermark' \ --header 'Authorization: Bearer accessToken'
javaimport 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 = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/task/pdf/addWatermark?language={{language}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
上传文件
将 替换为您要转换的文件,将 替换为您上一步获取到的 taskId,将 替换为您需要的界面错误信息语言类型,将 替换为您第一步获取到的 accessToken。
curlcurl --location --request POST 'https://api-server.compdf.com/server/v1/file/upload' \ --header 'Authorization: Bearer accessToken' \ --form 'file=@"test.pdf"' \ --form 'taskId="taskId"' \ --form 'password=""' \ --form 'parameter="{\"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\":\"1\",\"fullScreen\":\"1\",\"horizontalSpace\":\"10\",\"verticalSpace\":\"10\",\"extension\":\"\"}"' \ --form 'language=""'
javaimport 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("taskId","{{taskId}}") .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/v1/file/upload") .method("POST", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
执行任务
将 替换为 创建任务 步骤中获取的 taskId,将 替换为第一步获取的 access_token,将 替换为所需的界面错误信息语言类型。
curlcurl --location -g --request GET 'https://api-server.compdf.com/server/v1/execute/start?taskId=taskId' \ --header 'Authorization: Bearer accessToken'
javaimport 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 = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/execute/start?taskId={{taskId}}&language={{language}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
获取任务信息
将 替换为 创建任务 步骤中获取的 taskId,将 替换为第一步中获取的 access_token。
curlcurl --location -g --request GET 'https://api-server.compdf.com/server/v1/task/taskInfo?taskId=taskId' \ --header 'Authorization: Bearer accessToken'
javaimport 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 = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/task/taskInfo?taskId={{taskId}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
结果
文件类型 | 说明 |
---|---|
添加水印后的 PDF 文件 |
PDF 去水印工具使用指南
注意:在学习各个函数的使用方法之前,建议先阅读请求描述,了解基本的PDF处理流程。使用各个函数时,可以在上传文件时设置各自特殊的参数。其他基本步骤一致。
示例
授权
您需要将认证响应中的 和 替换为从控制台获取的 publicKey 和 secretKey,并使用 accessToken。
curlcurl --location --request POST 'https://api-server.compdf.com/server/v1/oauth/token' \ --header 'Content-Type: application/json' \ --data-raw '{ "publicKey": "publicKey", "secretKey": "secretKey" }'
javaimport 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 = RequestBody.create(mediaType, "{\n \"publicKey\": \"{{public_key}}\",\n \"secretKey\": \"{{secret_key}}\"\n}"); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/oauth/token") .method("POST", body) .build(); Response response = client.newCall(request).execute(); } }
创建任务
您需要将 替换为上一步获取的 accessToken,将 ***替换为所需的界面和任务错误消息语言类型。请求成功后,您将从响应中收到 taskId。
curlcurl --location --request GET 'https://api-server.compdf.com/server/v1/task/pdf/delWatermark' \ --header 'Authorization: Bearer accessToken'
javaimport 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 = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/task/pdf/delWatermark?language={{language}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
上传文件
将 替换为您要转换的文件,将 替换为您上一步获取到的 taskId,将 替换为您需要的界面错误信息语言类型,将 替换为您第一步获取到的 accessToken。
curlcurl --location --request POST 'https://api-server.compdf.com/server/v1/file/upload' \ --header 'Authorization: Bearer accessToken' \ --form 'file=@"test.pdf"' \ --form 'taskId="taskId"' \ --form 'password=""' \ --form 'language=""'
javaimport 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("taskId","{{taskId}}") .addFormDataPart("language","{{language}}") .addFormDataPart("password","") .build(); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/file/upload") .method("POST", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
执行任务
将 替换为 创建任务 步骤中获取的 taskId,将 替换为第一步获取的 access_token,将 替换为所需的界面错误信息语言类型。
curlcurl --location -g --request GET 'https://api-server.compdf.com/server/v1/execute/start?taskId=taskId' \ --header 'Authorization: Bearer accessToken'
javaimport 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 = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/execute/start?taskId={{taskId}}&language={{language}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
获取任务信息
将 替换为 创建任务 步骤中获取的 taskId,将 替换为第一步中获取的 access_token。
curlcurl --location -g --request GET 'https://api-server.compdf.com/server/v1/task/taskInfo?taskId=taskId' \ --header 'Authorization: Bearer accessToken'
javaimport 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 = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/task/taskInfo?taskId={{taskId}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
结果
文件类型 | 说明 |
---|---|
删除水印后的 PDF 文件 |