This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

图像转 PDF

将一个或多个图像合并为 PDF 文档。支持多种页面大小、方向、边距,并可通过质量调整选择性地约束文件大小。

API 端点

POST /api/v1/tools/image/image-to-pdf

接受包含一个或多个图像文件的 multipart 表单数据,以及一个 JSON settings 字段。

参数

参数类型是否必填默认值说明
pageSizestring"A4"页面大小:A4LetterA3A5
orientationstring"portrait"页面方向:portraitlandscape
marginnumber20页面边距(磅,0-500)
targetSizeobject-目标文件大小约束(见下文)
collatebooleantrue将所有图像合并到一个 PDF。若为 false,则每张图像生成一个 PDF。

Target Size 对象

字段类型是否必填说明
valuenumber目标大小值
unitstring单位:KBMB

最小目标大小为 50 KB。

请求示例

基础的多图像 PDF:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"pageSize": "A4", "orientation": "portrait", "margin": 20}'

带文件大小目标:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"pageSize": "Letter", "targetSize": {"value": 2, "unit": "MB"}}'

每张图像生成一个 PDF:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"collate": false}'

响应示例(合并)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/images.pdf",
  "originalSize": 5000000,
  "processedSize": 1200000,
  "pages": 3
}

响应示例(非合并)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/images.zip",
  "originalSize": 5000000,
  "processedSize": 2400000,
  "pages": 2,
  "collated": false
}

响应示例(带目标大小)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/images.pdf",
  "originalSize": 10000000,
  "processedSize": 2000000,
  "pages": 5,
  "compression": {
    "targetRequested": 2097152,
    "targetMet": true,
    "jpegQuality": 72
  }
}

说明

  • 图像在页面上居中,并在保持宽高比的前提下缩放以适应边距。图像永远不会被放大。
  • collatefalse 时,每张图像会成为单独的 PDF 文件,下载内容是包含所有 PDF 的 ZIP 归档。
  • 目标大小功能通过对 JPEG 质量级别(10-95)进行迭代二分搜索,找出在预算内的最佳质量。
  • 透明图像在嵌入 PDF 前会被平整为白色。
  • 支持的输入格式:JPEG、PNG、WebP、AVIF、TIFF、GIF、HEIC、RAW、PSD、SVG 等。
  • 在嵌入前会自动应用 EXIF 方向信息。