在您的应用中使用 PDFtoSCAN 转换。所有 API 请求需要 API 密钥(注册 后获取)。
所有端点相对于:
https://pdftoscan.com/api/v1
在每次请求中包含 API 密钥,可使用以下方式之一:
请求头 X-API-Key: 您的-api-key请求头 Authorization: Bearer 您的-api-key获取 API 密钥:注册,然后在您的 个人中心 中生成新密钥。密钥仅显示一次,请妥善保存。
上传 PDF 或图片,或发送文件 URL,获得扫描效果的 PDF(倾斜、噪点、可选脏底、可选 A4)。
multipart/form-data (或 application/x-www-form-urlencoded 仅使用 file_url 时可使用 application/x-www-form-urlencoded)| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
file 或 pdf |
file | 否 | 要转换的 PDF、JPG、PNG、TIFF 或 WebP 文件(上传)。二选一:file 或 file_url。 |
file_url |
string | 否 | 要转换的 PDF 或图片的 HTTP(S) URL。二选一:上传文件或 file_url(最大 50 MB,超时 30 秒)。 |
color_mode |
string | 否 | color 或 bw。默认:bw(黑白)。 |
rotate |
number | 否 | 页面倾斜度数(-1.5 至 1.5)。默认:0。 |
noise |
number | 否 | 噪点强度 0–1。默认:0.1(10%)。 |
dirty_background |
string | 否 | 1(默认)显示脏黑边,0 关闭。 |
force_a4 |
string | 否 | 1(默认)适配 A4,0 保持原尺寸。 |
成功(200):响应体为 PDF 文件。
错误(4xx/5xx):JSON 体:{"ok": false, "error": "消息"}
| Code | 含义 |
|---|---|
| 200 | 成功 — 响应为 PDF。 |
| 400 | 请求错误 — 缺少文件、格式错误或上传失败。 |
| 401 | 未授权 — 缺少或无效的 API 密钥。 |
| 405 | 方法不允许 — 请使用 POST。 |
| 500 | 服务器错误 — 转换失败。 |
| 503 | 服务不可用 — 服务器不支持转换。 |
上传文件:
curl -X POST "https://pdftoscan.com/api/v1/convert.php" \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@/path/to/document.pdf" \
-F "color_mode=bw" \
-F "force_a4=1" \
-o scanned.pdf
或发送文件 URL:
curl -X POST "https://pdftoscan.com/api/v1/convert.php" \
-H "X-API-Key: YOUR_API_KEY" \
-d "file_url=https://example.com/document.pdf" \
-d "color_mode=bw" \
-d "force_a4=1" \
-o scanned.pdf
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('color_mode', 'bw');
formData.append('force_a4', '1');
const response = await fetch('https://pdftoscan.com/api/v1/convert.php', {
method: 'POST',
headers: { 'X-API-Key': 'YOUR_API_KEY' },
body: formData
});
if (!response.ok) {
const err = await response.json();
throw new Error(err.error || 'Request failed');
}
const blob = await response.blob();
// e.g. save or open blob as PDF
import requests
url = 'https://pdftoscan.com/api/v1/convert.php'
headers = {'X-API-Key': 'YOUR_API_KEY'}
files = {'file': open('document.pdf', 'rb')}
data = {'color_mode': 'bw', 'force_a4': '1'}
r = requests.post(url, headers=headers, files=files, data=data)
if r.status_code != 200:
print(r.json().get('error', 'Error'))
else:
with open('scanned.pdf', 'wb') as f:
f.write(r.content)
允许来自任意来源的浏览器请求。支持 OPTIONS 预检请求。
每次转换按 API 密钥计数。在个人中心可查看总使用量及最近 7 天、30 天使用量。 无内置频率限制;适用服务器上传与资源限制。
输入:PDF、JPG、JPEG、PNG、TIFF、WebP。
输出:始终为 PDF(扫描效果)。
© 2026 PDFtoSCAN · 定价 · 如何使用 · 使用场景 · 高级编辑器 · Cam Scanner · API v1