PDF 压缩 API
压缩并优化 PDF。
功能说明
ComPDF Self-hosted 通过 multipart/form-data 接收文件和 request JSON 字符串,并将参数转发给私有化 PDF SDK。成功时直接返回结果文件流。
同步执行
| 项目 | 值 |
|---|---|
| 认证 | x-api-key: your_api_key_here |
| 请求地址 | POST http://localhost:8080/api/v1/process/pdf/compress |
| 请求类型 | multipart/form-data |
| 成功响应 | 结果文件流 |
请求参数
| 参数名 | 类型 | 说明 | 是否必填 |
|---|---|---|---|
file | File | 源 PDF 文件。 | 是 |
request | String | JSON 字符串,包含下方 PDF SDK 参数。若省略 request,其他非文件 form-data 字段会作为 request 对象转发。 | 否 |
Request 参数
以下字段放入 request JSON 字符串中。
| 参数名 | 类型 | 作用 |
|---|---|---|
profile | String | 压缩预设。aggressive 且未传 optimizeFlags 时,会根据 imageQuality 推导 optimizeFlags。 |
optimizeFlags | String[] | 优化动作。预设可能包含 RMEMBFONT、RMANNOT、RMDOCINFO、RMMEDTADATA 等标记。 |
imageQuality | Number | 压缩图片质量,范围 0 到 100。预设分别使用 30、60、80。 |
colorImageUpperPpi | Number | 彩色图片最大 PPI。 |
colorImageTargetPpi | Number | 彩色图片目标 PPI。 |
colorImageCompressAlgorithm | String | 彩色图片压缩算法,例如 jpeg 或 flate。 |
colorImageQuality | Number | 彩色图片质量,范围 0 到 100。 |
grayscaleImageUpperPpi | Number | 灰度图片最大 PPI。 |
grayscaleImageTargetPpi | Number | 灰度图片目标 PPI。 |
monochromeImageUpperPpi | Number | 黑白图片最大 PPI。 |
monochromeImageTargetPpi | Number | 黑白图片目标 PPI。 |
monochromeImageCompressAlgorithm | String | 黑白图片压缩算法,例如 jbig2 或 flate。 |
password | String | 源 PDF 打开密码。部分路由在 SDK 接口不直接接收该字段时会在转发前移除。 |
outputFileName | String | 可选输出文件名。传入后会作为首选下载文件名。 |
请求示例
bash
curl -X POST "http://localhost:8080/api/v1/process/pdf/compress" \
-H "x-api-key: your_api_key_here" \
-F "[email protected]" \
-F 'request={"profile":"aggressive","optimizeFlags":"","imageQuality":60,"colorImageUpperPpi":"","colorImageTargetPpi":""}'响应
成功时返回处理后的文件流。响应头包含 Content-Type 和 Content-Disposition。失败时返回统一错误 JSON。