PDF a secuencia de imágenes
Este generador de nombres para secuencias de imágenes PDF crea la lista exacta y ordenada que puede usar un proceso de conversión página por página.
Ejecutar — gratis
Indique cuántas páginas tiene el PDF y elija PNG o JPG; obtendrá un nombre previsible para cada página. La numeración incorpora los ceros iniciales necesarios para conservar el orden al clasificar texto. La herramienta no carga, examina ni convierte el PDF, por lo que resulta útil para planificar exportaciones, validar resultados y preparar tareas posteriores antes de que existan las imágenes.
Planifique toda la secuencia antes de convertir
Los procesos de conversión de PDF suelen necesitar conocer los archivos esperados antes de iniciar el renderizado. Quizá deba reservar claves de almacenamiento, crear una fila por página en una base de datos o comprobar que no falte ninguna imagen. Indique el número de páginas y seleccione PNG o JPG para obtener un manifiesto completo. Cada nombre comienza por page-, continúa con el número de página, contado desde uno, y termina con la extensión elegida. Como esta herramienta planifica nombres y no lee el documento, no necesita recibir el PDF. Así, el resultado es rápido, reproducible y apto para etapas anteriores del flujo. Un documento de doce páginas genera desde page-01 hasta page-12; si contiene cientos, la anchura numérica aumenta automáticamente. El resultado también repite el número de páginas y el formato, de modo que otro servicio puede verificar la solicitud.
Mantenga el orden correcto en carpetas y almacenamiento
Los nombres sin relleno plantean un problema discreto: una ordenación textual normal coloca page-10 antes que page-2. La capacidad lo evita calculando cuántos dígitos tiene la última página y completando todos los números con ceros a la izquierda. Nueve páginas requieren un dígito, doce requieren dos y ciento veinte requieren tres. Por ello, tanto la matriz devuelta como los nombres mostrados en almacenamiento de objetos, archivos comprimidos, terminales o exploradores conservan el orden real. La numeración comienza en uno porque representa las páginas que ve una persona, no los índices internos de una matriz. La extensión seleccionada se aplica de forma uniforme y solo se admiten png y jpg. Cualquier otro valor se rechaza para impedir que el manifiesto prometa archivos incompatibles y para detectar errores ortográficos antes de iniciar una conversión más costosa.
Use el manifiesto como contrato determinista
El resultado conecta etapas independientes de un flujo documental. Un proceso de conversión puede asignar un nombre a cada página, una fase de carga puede reservar las claves correspondientes y una validación puede comparar los archivos producidos con la lista prevista. El algoritmo no utiliza red, hora actual, aleatoriedad ni metadatos del documento; las mismas entradas siempre producen la misma salida. Esta propiedad facilita pruebas automatizadas, reintentos, compilaciones reproducibles y registros de auditoría. El límite de diez mil páginas evita que una solicitud errónea reserve una matriz ilimitada o sature el navegador. Los recuentos inválidos y los formatos no compatibles generan errores de entrada en lugar de corregirse silenciosamente. La llamada mediante API cuesta $0.002; también puede ejecutar la misma lógica en el navegador. Recuerde que esta herramienta solo enumera nombres previstos: otra capacidad debe renderizar las imágenes, cuyos resultados podrán compararse después con el manifiesto.
Qué puede hacer con ella
Reserve claves de almacenamiento
Cree todos los nombres previstos antes de que el proceso de renderizado cargue las imágenes de las páginas.
Valide una conversión completa
Compare la carpeta de salida con el manifiesto para detectar páginas ausentes o inesperadas.
Prepare colas por página
Cree una tarea determinista por página PDF con un destino PNG o JPG estable.
Preguntas frecuentes
¿Esta capacidad convierte el PDF?
No. Genera los nombres que produciría una conversión página por página, pero no lee ni renderiza el PDF.
¿Qué formatos de imagen se admiten?
Las extensiones compatibles son png y jpg. Cualquier otro formato devuelve un error de entrada inválida.
¿Por qué algunos números llevan ceros iniciales?
Los ceros igualan la anchura de todos los números y conservan el orden de página al clasificarlos como texto.
¿La numeración empieza en cero o en uno?
Empieza en uno y termina en el número indicado, igual que la numeración habitual para quien lee el documento.
¿Cuánto cuesta una solicitud por API?
Una solicitud por API cuesta $0.002. También puede ejecutar la misma lógica determinista en el navegador.
¿Cuál es el máximo de páginas admitido?
El máximo es de diez mil páginas, lo que limita el uso de memoria y el tamaño de la lista devuelta.
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/to-image-sequence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_count":12,"format":"png"}'const res = await fetch("https://api.kit.forhosting.com/pdf/to-image-sequence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_count": 12,
"format": "png"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/to-image-sequence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_count": 12,
"format": "png"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/to-image-sequence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_count":12,"format":"png"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_count":12,"format":"png"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/to-image-sequence", 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_count": 12,
"format": "png"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.to_image_sequence",
"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_items | 10000 |
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. |