Convertir Word a PDF
Un archivo Word se ve distinto en cada equipo que lo abre: cambian las fuentes, se reacomodan las tablas, se mueven los saltos de página. Este endpoint congela un .docx en un PDF que se ve igual en todas partes, ya sea un contrato listo para firmar o un currículum que nadie debe poder alterar.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Por qué el DOCX solo no basta
Los documentos de Word son maquetas vivas: dependen de las fuentes instaladas, del controlador de impresión seleccionado, hasta de la configuración regional del equipo que los renderiza. Envíe un .docx a un cliente y un memo de dos páginas puede convertirse en tres en su pantalla. Un PDF congela ese formato de manera permanente, que es justo lo que se necesita en el momento en que un documento sale de su control — para firmarlo, archivarlo, imprimirlo o guardarlo.
Quién usa este endpoint
Áreas administrativas que generan cartas de oferta, facturas y acuerdos de confidencialidad desde plantillas; equipos legales y de recursos humanos que redactan en Word pero deben entregar un documento que nadie pueda alterar sin dejar rastro; editoriales y agencias que convierten borradores en entregables listos para el cliente. Donde el .docx es el formato de trabajo pero el PDF es lo que se entrega, este es el punto de unión entre ambos.
Qué pasa con su archivo
Envía el .docx, recibe de inmediato un task_id y la tarea corre de forma asíncrona — el texto, las imágenes incrustadas, las tablas, encabezados, pies de página y saltos de página se renderizan tal como los define el documento original, sin adivinar un nuevo acomodo. Cuando termina, le avisamos por webhook firmado, o puede recoger el PDF desde un enlace firmado válido por 24 horas.
Cómo encaja en un flujo automatizado
Como la llamada es asíncrona y solo se cobra si el resultado es correcto, se integra sin fricción en procesos por lotes: genera cien contratos desde una plantilla de combinación de correspondencia, dispara cien solicitudes de conversión y deja que los webhooks recojan los PDF terminados a medida que llegan — sin ciclos de sondeo ni cobro por los que fallen.
Una breve nota sobre los formatos
El DOCX es un estándar relativamente joven — Microsoft adoptó el formato XML Office Open XML en 2007, en reemplazo del antiguo .doc binario. El PDF, en cambio, es un formato de renderizado fijo y portable desde principios de los años noventa, y por eso la conversión solo tiene sentido en un sentido cuando lo que se necesita es un documento final.
Qué puede hacer con ella
Cierre de contratos
El área legal redacta un acuerdo en Word y lo convierte a PDF apenas está listo para firmarse, así ninguna cláusula puede editarse después.
Cartas de oferta automatizadas
Recursos humanos llena una plantilla de Word con los datos del candidato y convierte cada una a PDF antes de que llegue a su correo, conservando el diseño de marca.
Lotes de facturas
Finanzas genera las facturas mensuales desde una plantilla DOCX y convierte todo el lote a PDF para archivarlas y enviarlas al cliente.
Informes listos para imprimir
Una herramienta de reportes arma un documento Word con gráficos y tablas, y lo convierte a PDF para que la paginación no cambie al imprimirlo.
Preguntas frecuentes
¿Está disponible ya la API Word a PDF?
Está en despliegue y estará disponible en breve; el endpoint y el precio de abajo ya son definitivos.
¿Cómo se cobra?
$0.051 por solicitud más $0.003 por página — un costo base pequeño más una tarifa por página, publicada y sin cambios por volumen.
¿Se mantienen exactas las fuentes y tablas?
Sí. El formato se renderiza tal como lo define el documento original — fuentes, tablas, encabezados, pies de página y saltos de página se conservan en lugar de reacomodarse.
¿Es una API gratis?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cómo recibo el resultado?
Por webhook firmado cuando la tarea termina, o mediante un enlace firmado válido por 24 horas si prefiere consultarlo usted mismo.
¿Se cobra si la conversión falla?
No. Las tareas fallidas se reintentan automáticamente hasta tres veces y nunca se cobran; en su lugar recibe un error claro.
¿Puedo convertir muchos documentos a la vez?
Sí — cada solicitud es un archivo y un task_id, así que los lotes son simplemente solicitudes en paralelo recogidas de forma asíncrona por webhook.
¿Qué pasa con mi archivo después?
Se elimina al vencer el periodo de retención y nunca se usa para entrenar modelos.
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, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/doc/word-to-pdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/doc/word-to-pdf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/word-to-pdf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/word-to-pdf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/word-to-pdf", 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
{
"input": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.word_to_pdf",
"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. |
413 | input_too_large | El archivo supera el límite de tamaño. |