API para desarrolladores

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 API

La 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

POST
https://api.pen-to-print.com/V1/notes
Content-Type application/json

Credenciales

Puedes encontrar ambos valores en los ajustes de tu cuenta.

Campo
Dónde obtenerlo
Notas
userId
Se muestra en los ajustes de tu cuenta
Obligatorio
secret
Se muestra en los ajustes de tu cuenta
Obligatorio; mantenlo privado

Parámetros de la solicitud

Envía un cuerpo JSON con los siguientes campos:

Parámetro
Tipo
Obligatorio
Descripción
userId
string
Tu identificador de usuario de Pen to Print.
secret
string
Tu secreto de API (de los ajustes de tu cuenta).
srcImage
string
Representación en base64 de la imagen de origen.

Ejemplo 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

Estado
Cuándo ocurre
Cuerpo
400
Faltan parámetros obligatorios
{'error':'Missing parameters'}
403
Secreto no válido
{'error':'Unauthorized'}
405
Sin suscripción activa
{'error':'API access not allowed'}
500
Error interno del servidor
{'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