Agregar un campo de firma a un PDF
Un campo de 200 por 50 puntos colocado en 72, 72 sobre una página Letter de 612 por 792 cabe, con 340 puntos libres a la derecha y 670 arriba, en el cuadrante inferior izquierdo. Valide la posición de la firma antes de estamparla. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Ancho de página
- 612
- Alto de página
- 792
- X
- 72
- Y
- 72
- Ancho
- 200
- Altura
- 50
- Sistema de coordenadas
- pdf_points_origin_bottom_left
- Cuadrante
- bottom_left
- Área (puntos)
- 10 000
- Porcentaje de cobertura
- 2,063115
Si algún borde queda fuera de la página, rechaza la colocación con una explicación precisa de qué límite se cruzó, antes de que gaste una operación de firma en un campo que nadie verá jamás.
Por qué falla la colocación de campos de firma en producción
Y todo equipo que automatiza la firma de documentos acaba publicando un error de maquetación: una plantilla de contrato se recompone, una página escaneada llega en A4 en lugar de Carta, una coordenada calculada para una página vertical aterriza en una horizontal, y el campo de firma termina fuera de la página visible. En algunas herramientas la firma se aplica igualmente, así que el documento aparece como firmado en el panel pero no muestra nada en la página que abre una persona. Una llamada de validación sustituye al incidente posterior.
Coordenadas, unidades y qué resultado obtiene
Todos los valores son puntos PDF — setenta y dos por pulgada — con el origen en la esquina inferior izquierda de la página, x creciendo hacia la derecha e y hacia arriba, exactamente el sistema de coordenadas que usan de forma nativa las anotaciones de campos de firma en PDF.
En caso de éxito, la respuesta devuelve el rectángulo normalizado, indica los cuatro límites absolutos, el margen restante en cada lado de la página, el punto central, un cuadrante legible como bottom-left, el área del campo en puntos cuadrados y el porcentaje de la página que cubre, además de una descripción de una línea que puede volcar directamente en un registro o una pista de auditoría.
En caso de fallo, el mensaje de error lleva los números ofensores: qué coordenada cayó por debajo de cero o qué borde calculado superó qué dimensión de la página. La aritmética es pura geometría de rectángulos con valores redondeados a seis decimales, así que la misma petición produce siempre una salida idéntica byte a byte en cualquier máquina.
Dónde encaja en un pipeline de firma
Úselo como puerta antes de cualquier operación que escriba un campo de firma: los constructores de plantillas validan cada campo al guardar la plantilla, los trabajos de firma por lotes validan documento a documento justo antes de estampar, y los pipelines de ingesta validan cuando se sospecha una discrepancia de tamaño de página entre la plantilla y el archivo entrante.
Como la capacidad es geometría pura sin E/S de archivos, es lo bastante rápida para ejecutarse en cada documento de un lote sin pensarlo dos veces, y lo bastante determinista para que su salida pueda guardarse como evidencia de una colocación verificada.
Qué puede hacer con ella
Validar una plantilla de firma antes de publicarla
Valide cada campo de firma de una plantilla contra el tamaño de página de destino al guardarla, de modo que un campo mal colocado lo detecte el autor, no el primer firmante.
Proteger un trabajo de firma por lotes
Compruebe la colocación por documento justo antes de estampar; un trabajo que pondría el campo fuera de la página falla ruidosamente en ese documento en lugar de enviar en silencio una firma invisible.
Depurar una firma desaparecida reportada por un cliente
Reproduzca el tamaño de página y el rectángulo exactos del ticket de soporte y vea al instante qué borde de la página cruzó el campo, con los números que lo demuestran.
Preguntas frecuentes
¿Cuánto cuesta?
También es gratis ejecutarlo en su navegador en esta página.
¿Modifica mi PDF?
No. Solo valida geometría: usted envía seis números, no un archivo. Nada se sube, se almacena ni se escribe.
¿Qué sistema de coordenadas usa?
Puntos PDF nativos: 72 puntos por pulgada, origen en la esquina inferior izquierda de la página, x a la derecha e y hacia arriba — el mismo sistema que usan las anotaciones de campos de firma.
¿Pasa un campo exactamente en el borde de la página?
Sí. Un campo cuyo borde derecho coincide con el ancho de la página está completamente dentro; solo se rechazan los bordes estrictamente más allá de los límites de la página.
¿Es determinista el resultado?
Sí. Es aritmética pura de rectángulos con redondeo a seis decimales, así que la misma entrada devuelve siempre una salida idéntica byte a byte.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/pdf/digital-sign-field \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}'const res = await fetch("https://api.kit.forhosting.com/pdf/digital-sign-field", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/digital-sign-field",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/digital-sign-field", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/digital-sign-field", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.digital_sign_field",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
max_pages | 200 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La API para añadir campos de firma a un PDF comprueba lo único que rompe los flujos de firma en silencio: si el rectángulo que piensa usar para un campo de firma digital cabe realmente en la página. Usted envía el tamaño de la página y la posición del campo en puntos PDF; la API confirma que el campo queda completamente dentro de los límites de la página y describe la colocación — márgenes en cada lado, el cuadrante donde cae su centro y qué porcentaje de la página cubre.
Por qué falla la colocación de campos de firma en producción
El endpoint add pdf signature field existe para atrapar esa clase de error en el único momento en que es barato: antes de crear el campo. Usted describe la página y el rectángulo, y la API confirma la colocación con una descripción geométrica completa o la rechaza, nombrando el borde exacto que se cruzó — por la izquierda, por abajo, más allá del borde derecho o más allá del superior.
Coordenadas, unidades y qué devuelve la API
Usted pasa el ancho y el alto de la página más el rectángulo del campo como x, y, width y height.
Dónde encaja en un pipeline de firma
El mismo código que responde a la API se ejecuta gratis en su navegador en esta página, así que un ingeniero de soporte puede reproducir la colocación defectuosa de un cliente escribiendo los mismos seis números que envió el pipeline. Pague por llamada a $0.002 solo cuando lo automatice; explorar maquetaciones y depurar una coordenada concreta que falla no cuesta nada.
Preguntas técnicas
¿Qué pasa si el campo queda fuera de la página?
La petición falla con un error invalid_input cuyo mensaje nombra el límite cruzado y muestra los números ofensores, por ejemplo un borde derecho de 700pt en una página de 612pt de ancho.