Convertir Excel a PDF
Una hoja de cálculo está pensada para editarse, no para leerse en una sola pantalla — las columnas se salen de la página, las hojas quedan sin imprimir, las fórmulas no significan nada para alguien fuera del archivo. Este endpoint toma un XLSX y lo acomoda en un PDF paginado de verdad, tal como saldría de una impresora.
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.
El problema de compartir un libro vivo
Los archivos de Excel son anchos, con varias hojas y llenos de fórmulas, algo perfecto para quien construye el modelo y terrible para quien solo necesita leer los números. Anchos de columna que se ven bien en un monitor de 32 pulgadas se desbordan en tres páginas impresas. Enviar un XLSX crudo a un cliente o auditor también significa entregarle sus fórmulas, sus rangos con nombre y a veces datos sueltos en hojas ocultas que olvidó que estaban ahí.
Para quién es
Equipos financieros que cierran estados mensuales, operaciones de ventas que envían cotizaciones a clientes, auditores que necesitan una instantánea fija de un libro contable en un momento dado, cualquiera cuya hoja de cálculo tiene como destinatario real a una persona que lee una página impresa o archivada y no a otro usuario de hojas de cálculo. Donde Excel es la fuente de la verdad pero el PDF es lo que realmente se lee, esto cubre ese vacío.
Qué hace la conversión
Envía el XLSX, recibe de inmediato un task_id, y la tarea renderiza cada hoja respetando las áreas de impresión, los anchos de columna y los saltos de página, para que los números caigan en páginas legibles en lugar de una cinta continua. Los libros con varias hojas se entregan como un PDF de varias páginas en el orden de las hojas, listo para archivar o reenviar.
Dónde encaja en un flujo automatizado
Como es asíncrono y se cobra por página solo cuando el resultado es correcto, se adapta bien a tareas programadas: una exportación nocturna vuelca las cifras en una plantilla XLSX, este endpoint la convierte en el PDF que llega a un correo o a un repositorio antes de la mañana, con el webhook confirmando la entrega en lugar de un script consultando el estado.
Una nota sobre los formatos
XLSX es el formato de hoja de cálculo Office Open XML que Microsoft introdujo en 2007, un contenedor XML comprimido y abierto que reemplazó al antiguo binario .xls. El PDF lleva tres décadas como destino estable e imprimible precisamente porque captura el formato y no los datos vivos — por eso convertir una hoja de cálculo de trabajo en PDF es un viaje de ida hacia algo pensado para leerse, no para recalcularse.
Qué puede hacer con ella
Estados financieros mensuales
Un equipo de finanzas cierra los libros en un archivo de trabajo y convierte la versión final a PDF para el archivo y para la carpeta de la junta directiva.
Cotizaciones para clientes
Ventas arma una tabla de precios en Excel y la convierte a PDF antes de enviarla, para que el cliente vea números y no fórmulas.
Instantáneas de auditoría
Un auditor necesita un registro fechado e inalterable de un libro contable; convertirlo a PDF fija ese momento en el tiempo.
Reportes impresos de inventario
Un sistema de bodega exporta conteos de existencias a XLSX cada noche y los convierte en un PDF paginado para la impresión matutina.
Preguntas frecuentes
¿Ya está disponible la API Excel a PDF?
Está en despliegue y estará disponible en breve; el endpoint y el precio descritos aquí ya son definitivos.
¿Cuánto cuesta?
$0.052 por solicitud más $0.003 por página, publicado y predecible sin importar qué tan grande sea el libro.
¿Maneja varias hojas?
Sí, un libro con varias hojas se convierte en un PDF de varias páginas, respetando el área de impresión y los saltos de página de cada hoja.
¿Se cortan las columnas anchas?
La conversión sigue el área de impresión y la configuración de página definidas en la hoja, así que conviene fijar el área de impresión en Excel para una paginación predecible.
¿Hay forma gratuita de probarla?
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 PDF?
Por webhook firmado cuando la tarea termina, o desde un enlace firmado válido por 24 horas.
¿Se cobran las conversiones fallidas?
Nunca. Una tarea recibe hasta tres reintentos automáticos y solo se cobra si tiene éxito; de lo contrario recibe un error claro.
¿Puedo convertir un lote de hojas de cálculo?
Sí, cada solicitud procesa un archivo y devuelve su propio task_id, así que los lotes son simplemente solicitudes en paralelo recogidas por webhook.
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/excel-to-pdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/doc/excel-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/excel-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/excel-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/excel-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.excel_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. |