Contar páginas y palabras de un PDF
La API Contar Páginas PDF lee cualquier PDF que le envíe y devuelve el número exacto de páginas, palabras y caracteres que contiene. Envía el documento con un POST, nosotros hacemos el análisis en nuestro edge global y los conteos regresan por webhook o por un enlace firmado, listos para su facturación, sus cuotas o sus flujos editoriales.
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.
Qué mide en realidad
Un PDF es un formato de maquetación, no de texto, así que el peso del archivo casi no dice nada sobre cuánto contiene. Una sola página con imágenes puede pesar más que un contrato de doscientas hojas. Esta api contar paginas pdf resuelve esa ambigüedad: abre el documento, recorre su árbol de páginas para obtener un total fiable y extrae la capa de texto para sumar palabras y caracteres. El resultado son tres enteros honestos sobre los que puede actuar, en vez de una suposición basada en bytes.
Para quién es
Las imprentas y las agencias de traducción cobran por página o por palabra, y un conteo equivocado es una factura equivocada. Las plataformas de gestión documental necesitan límites por página o por palabra para aplicar sus planes. Los equipos legales y de cumplimiento quieren saber cuánto texto trae un expediente antes de que una persona lo abra. Cualquiera que cobre, cotice o limite según la extensión de un documento hace una aritmética que este endpoint resuelve por él, de forma determinista y a escala.
Cómo fluye la petición
Envía un único POST /pdf/stats con su PDF y la llamada responde de inmediato con un task_id. El conteo es asíncrono porque un documento grande o con muchas imágenes nunca debería bloquear su hilo de petición. Al terminar, entregamos las cifras de páginas, palabras y caracteres a su webhook firmado, o puede consultar un enlace firmado válido por veinticuatro horas. Si una tarea falla, se reintenta tres veces con espera creciente; solo después recibe un error claro, y una tarea fallida jamás se cobra.
Sobre el formato
El PDF transporta texto desde 1993 y en tres décadas ha acumulado codificaciones, fuentes incrustadas, mapas de caracteres propios y páginas en cualquier orden. Un conteo fiel debe respetar todo eso: honrar el árbol de páginas real en lugar de los metadatos, decodificar texto que las fuentes pueden haber reasignado y contar palabras como lo haría una persona, no por glifos sueltos. Esa fidelidad es la razón de un endpoint dedicado y no de un script local ingenuo.
Cómo encaja en la automatización
Como cada respuesta es estructurada y cada resultado se le envía, la API entra sin fricción en un pipeline. Reciba un documento, llame al endpoint y deje que el webhook dispare el siguiente paso: generar una cotización, aplicar un tope de páginas, enviar archivos largos a revisión o escribir los conteos en su base de datos. El acceso requiere saldo prepago, lo que mantiene el servicio rápido y sin abusos; cada petición tiene un precio fijo y publicado, sin tokens ni créditos ocultos.
Qué puede hacer con ella
Cotización de impresión por página
Un servicio de impresión bajo demanda recibe el archivo del cliente y cotiza al instante multiplicando el número de páginas devuelto por su tarifa, sin que nadie cuente páginas a mano.
Estimación de palabras para traducción
Una agencia de localización pasa los PDF entrantes por el endpoint para obtener el conteo de palabras antes de asignar traductores, convirtiendo un cálculo aproximado en una cotización firme.
Límites de carga en un plan SaaS
Una plataforma documental verifica el número de páginas al subir un archivo y bloquea o sugiere mejorar el plan cuando el documento supera el tope de su nivel, aplicando la regla de forma automática.
Triaje de volumen en investigaciones
Un equipo legal mide el total de caracteres de un lote de documentos para dimensionar el esfuerzo de revisión y estimar el costo antes de que alguien abra una sola página.
Preguntas frecuentes
¿Cómo obtengo el número de páginas de un PDF con una API?
Envíe una petición POST /pdf/stats con su archivo y recibe un task_id de inmediato. La api contar paginas pdf devuelve los totales de páginas, palabras y caracteres a su webhook o a un enlace firmado al terminar el proceso.
¿Hay una versión gratis de esta API?
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.
¿Cuenta palabras o solo páginas?
Ambas, además de caracteres. Una sola llamada devuelve el total de páginas, el total de palabras y el total de caracteres, para que cobre o limite por la unidad que use su flujo.
¿Funciona con PDF escaneados o solo de imagen?
El conteo de páginas siempre es exacto porque proviene de la estructura del documento. Las palabras y los caracteres dependen de una capa de texto real, así que un PDF puramente escaneado sin texto incrustado reportará cero palabras hasta pasar por OCR.
¿Puedo contar páginas de muchos PDF en lote?
Sí. Envíe cada documento en su propio POST y las tareas se procesan en paralelo en nuestro edge global. Cada petición se cobra por separado, y cualquier tarea que falle se reintenta y nunca se cobra.
¿Qué tan exacto es el conteo de páginas?
El total de páginas se lee directo del árbol de páginas del PDF, la fuente autorizada, así que coincide con lo que mostraría un visor. No depende de los metadatos, que pueden estar mal o faltar.
¿Cómo recibo el resultado de una petición asíncrona?
De dos formas: un webhook firmado que enviamos a su servidor en cuanto termina el conteo, que es lo recomendado, o un enlace firmado válido por veinticuatro horas que puede consultar cuando quiera.
¿Qué pasa con mi documento después del proceso?
Su archivo y sus resultados se eliminan tras la ventana de retención y jamás se usan para entrenar nada. Los enlaces de entrega son firmados y caducan, así que los conteos quedan ligados solo a su petición.
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/pdf/stats \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/stats", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/stats",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/stats", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/stats", 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
{
"pdf": "https://ejemplo.com/documento.pdf"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.stats",
"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. |