欢迎您!

PDF 压缩

接口标识: pdfcompress 价格: 0.5 元/次 异步响应
接口简介
PDF 压缩接口在保持页面内容完整的前提下缩小 PDF 体积,三档力度可选:low 只做无损整理不动图片;medium 把过大图片降采样至约 1500 像素;high 降至约 800 像素,适合扫描件与图册。压缩保证不增大体积,降采样无收益时自动回退无损档;文字层不受影响,压缩后文字仍可选中复制。单文件不超过 200MB,返回压缩前后体积与压缩率明细,适合邮件附件瘦身、系统上传达标与档案入库省存储等场景。【调用约定】本接口为任务类:返回的 task_id 需调用 taskresult 查询终态结果(output_status 为 finish 或 fail);status 为 not 或 processing 时请每隔5-10秒重复查询直至终态。
详细介绍
常见问题
Q:压缩会不会让图片变糊、文字丢失?
A:low 档完全不动图片;medium/high 只对超过阈值的图片降采样,且文字层全程保留,压缩后文字仍可选中、复制与检索。
Q:压缩后文件反而变大怎么办?
A:不会出现。medium/high 会同时生成无损与降采样两个版本并自动取更小者,降采样没有收益时回退无损档,接口保证体积不增大。
Q:提交任务后怎么拿结果?
A:提交返回 task_id,凭它调用 taskresult 查询:output_status 为 finish 时,output_dourl 是压缩后 PDF 的地址,output_info 里有原体积、压缩后体积、压缩率与降采样图片数。
Q:三档压缩力度怎么选?
A:以文字为主的文档用 low 无损整理即可;图文混排用默认的 medium;扫描件、图册类用 high,图片会降到约 800 像素换取更小体积。
接口地址: https://www.phpwc.cn/api/pdfcompress
请求方式: POST
业务请求参数
参数名类型必填默认值说明
file string 必填 - PDF 文件,三形态,≤200MB。文件输入(自动识别):公网URL / Base64(data:开头) / 文件ID(fileid_开头)
level string 选填 medium 压缩档位:low(无损整理,对象流压缩)/ medium(图片降采样至约1500px)/ high(约800px,扫描件适用),默认 medium
target_size_kb int 选填 - 目标体积(KB,尽力而为,不保证精确命中)
serialnumber string 选填 - 开发者自定义查询编号,同接口下不可重复,用于幂等和关联查询
响应参数
字段名类型说明
codeint状态码,0=成功
descstring状态描述
data− object 业务数据(成功时返回)
task_id string 任务ID,用于通过 taskresult 接口查询任务结果
serialnumber string 调用方传入的 serialnumber,用于通过 taskresult 接口查询任务结果
task_msg string 任务提示信息(含预计耗时),随后经 taskresult 查询结果
request_idstring请求追踪ID
JSON 示例:
调用成功:
{
  "code": 0,
  "desc": "success",
  "data": { ... },
  "request_id": "abc123..."
}
调用失败:
{
  "code": 999,
  "desc": "错误描述",
  "request_id": "abc123..."
}
异步响应字段(调用 taskresult 返回)
本接口为异步任务类:提交后立即返回 task_id,需再调用 taskresult(传 task_id 或 serialnumber)查询结果,返回字段如下。
字段名类型说明
codeint状态码,0=成功
descstring状态描述
data− object 任务结果数据
task_id string 任务ID(与提交响应一致)
serialnumber string 调用方传入的 serialnumber(未传则为空串)
jk_mark string 原调用接口标识
output_status string 任务状态:not=未开始 / processing=处理中 / finish=完成 / fail=失败
output_content string 完成后的文本结果(如翻译全文、问答答案),无则为空串
output_dourl string 完成后的产物下载地址(图片/文档/音视频),无则为空串
output_info object 任务明细数据(随接口不同,见子字段)
output_msg string 任务说明 / 状态提示文案
output_time int 任务耗时(秒)
request_idstring请求追踪ID
taskresult 响应 JSON 示例:
{
  "code": 0,
  "desc": "success",
  "data": {
    "task_id": "任务ID",
    "serialnumber": "调用方传入的流水号",
    "jk_mark": "pdfcompress",
    "output_status": "finish",
    "output_content": "文本结果(无则空)",
    "output_dourl": "产物下载地址(无则空)",
    "output_info": { },
    "output_msg": "任务完成提示",
    "output_time": 12
  },
  "request_id": "abc123..."
}
请先 登录 后使用在线测试

© 网程科技(林州网程科技有限公司)   |  豫ICP备2025120409号-2   |  豫B2-20230220   |  豫公网安备 41058102000262号