Используйте конвертацию PDFtoSCAN в своих приложениях. Все запросы требуют API ключ (получите после регистрации).
Все endpoint относительно:
https://pdftoscan.com/api/v1
Включайте API ключ в каждый запрос одним из способов:
Header X-API-Key: ваш-api-ключHeader Authorization: Bearer ваш-api-ключЧтобы получить 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 | Нет | URL HTTP(S) PDF или изображения для конвертации. Используйте загрузку файла или file_url (макс. 50 МБ, таймаут 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)
Запросы из браузера разрешены с любого источника. Поддерживаются preflight OPTIONS.
Каждая конвертация учитывается по API ключу. В личном кабинете видно общее использование и за 7 и 30 дней. Встроенных лимитов запросов нет; действуют ограничения сервера на загрузку и ресурсы.
Вход: PDF, JPG, JPEG, PNG, TIFF, WebP.
Выход: всегда PDF (с видом скана).
© 2026 PDFtoSCAN · Цены · Как это работает · Примеры использования · Расширенный редактор · Cam Scanner · API v1