OCR de escritura manuscrita documentación de la API
Integra el reconocimiento avanzado de escritura manuscrita de Pen to Print en tus aplicaciones con una sencilla API REST de escritura manuscrita a texto.
Obtén tus credenciales de APILa API de Pen to Print ofrece una forma sencilla de añadir capacidades de escritura manuscrita a texto a tu producto. Tu aplicación envía una página manuscrita escaneada como imagen codificada en base64, y nuestro avanzado motor de OCR de escritura manuscrita convierte el contenido de imagen a texto, devolviendo texto limpio y editable en una respuesta JSON estructurada.
La autenticación se gestiona con un userId y un secreto de API, lo que facilita la integración en servicios web, móviles, de escritorio o de backend. La API es sin estado y ligera, ideal para impulsar funciones de escritura manuscrita a texto como digitalizar notas, procesar documentos escaneados o integrar el OCR de escritura manuscrita directamente en tus flujos de trabajo existentes.
- API REST
- JSON
- Imagen a texto
Endpoint
Credenciales
Puedes encontrar ambos valores en los ajustes de tu cuenta.
userIdsecretParámetros de la solicitud
Envía un cuerpo JSON con los siguientes campos:
userIdsecretsrcImageEjemplo de cuerpo JSON
{
"userId": "YOUR_USER_ID",
"secret": "YOUR_API_SECRET",
"srcImage": "BASE64_IMAGE_STRING"
} Respuesta
Si la operación tiene éxito (HTTP 200), la respuesta es JSON:
{
"status": 1,
"value": "…recognized text…"
} Respuestas de error
{'error':'Missing parameters'}{'error':'Unauthorized'}{'error':'API access not allowed'}{'error':'Scan failed'}Ejemplos de código
JavaScript (Node.js 18+)
import fs from "node:fs";
const endpoint = "https://api.pen-to-print.com/V1/notes";
const userId = "YOUR_USER_ID";
const secret = "YOUR_API_SECRET";
// Read an image file and convert to base64
const imageBase64 = fs.readFileSync("./image.jpg").toString("base64");
const res = await fetch(endpoint, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
userId,
secret,
srcImage: imageBase64,
}),
});
const data = await res.json().catch(() => ({}));
if (!res.ok) {
throw new Error(`Request failed: ${res.status}`);
}
console.log("Recognized text:", data.value); Python (requests)
import base64
import requests
endpoint = "https://api.pen-to-print.com/V1/notes"
user_id = "YOUR_USER_ID"
secret = "YOUR_API_SECRET"
with open("image.jpg", "rb") as f:
src_image = base64.b64encode(f.read()).decode("utf-8")
resp = requests.post(
endpoint,
json={
"userId": user_id,
"secret": secret,
"srcImage": src_image,
},
timeout=120,
)
resp.raise_for_status()
data = resp.json()
print(data.get("value", "")) cURL (macOS / Linux)
# 1. Export credentials
export P2P_USER_ID="YOUR_USER_ID"
export P2P_API_SECRET="YOUR_API_SECRET"
# 2. Convert image to base64
export IMG_B64="$(base64 < image.jpg | tr -d '\n')"
# 3. Call the endpoint
curl -sS -X POST "https://api.pen-to-print.com/V1/notes" \
-H "Content-Type: application/json" \
-d "{\"userId\":\"$P2P_USER_ID\",\"secret\":\"$P2P_API_SECRET\",\"srcImage\":\"$IMG_B64\"}" \
| cat