Use a conversão PDFtoSCAN nas suas aplicações. Todas as requisições precisam de uma API key (obtenha uma após cadastro).
Todos os endpoints são relativos a:
https://pdftoscan.com/api/v1
Inclua sua API key em cada requisição usando um destes métodos:
Header X-API-Key: sua-api-keyHeader Authorization: Bearer sua-api-keyPara obter uma API key: cadastro, depois na sua Área do cliente gere uma nova. A chave é mostrada só uma vez—guarde-a com segurança.
Envie um PDF ou imagem, ou a URL de um arquivo, e receba um PDF com aparência de digitalização (inclinação, ruído, fundo sujo opcional, A4 opcional).
multipart/form-data (ou application/x-www-form-urlencoded com file_url você pode usar application/x-www-form-urlencoded)| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
file ou pdf |
file | Não | Arquivo PDF, JPG, PNG, TIFF ou WebP para converter (envio). Use file ou file_url. |
file_url |
string | Não | URL HTTP(S) de um PDF ou imagem para converter. Use envio de arquivo ou file_url (máx. 50 MB, timeout 30 s). |
color_mode |
string | Não | color ou bw. Padrão: bw (preto e branco). |
rotate |
number | Não | Inclinação em graus (-1.5 a 1.5). Padrão: 0. |
noise |
number | Não | Quantidade de ruído 0–1. Padrão: 0.1 (10%). |
dirty_background |
string | Não | 1 (padrão) para bordas sujas, 0 para desativar. |
force_a4 |
string | Não | 1 (padrão) para A4, 0 para tamanho original. |
Sucesso (200): o body é o arquivo PDF.
Erro (4xx/5xx): body JSON: {"ok": false, "error": "mensagem"}
| Code | Significado |
|---|---|
| 200 | Sucesso — a resposta é o PDF. |
| 400 | Requisição inválida — arquivo faltando, formato errado ou erro de envio. |
| 401 | Não autorizado — API key faltando ou inválida. |
| 405 | Método não permitido — use POST. |
| 500 | Erro do servidor — conversão falhou. |
| 503 | Serviço indisponível — conversão não disponível no servidor. |
Enviar um arquivo:
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
Ou enviar a URL de um arquivo:
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)
Requisições do navegador são permitidas de qualquer origem. Requisições OPTIONS de preflight são suportadas.
Cada conversão é contada por API key. Na sua área do cliente você vê o uso total e dos últimos 7 e 30 dias. Não há limites de taxa integrados; aplicam-se os limites de upload e recursos do servidor.
Entrada: PDF, JPG, JPEG, PNG, TIFF, WebP.
Saída: Sempre PDF (com aparência digitalizada).
© 2026 PDFtoSCAN · Preços · Como funciona · Casos de uso · Editor avançado · Cam Scanner · API v1